• CentOS下Mysql安装调试


    一、安装

     
    • yum安装:yum install -y mysql-server mysql mysql-devel
    • 设置自启动:chkconfig mysqld on
    • 启动MySQLservice mysqld start
    • 设置root密码:/usr/bin/mysqladmin -u root password "123456"
    • 安装测试:mysql -uroot -p
    • 设置允许远程访问:

              mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

              mysql> flush privileges;

                

    • 关闭端口3306防火墙: 
      iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
      iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
      service iptables save 

      service iptables restart

    二、调试:

    • 报错信息:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' 
      错误原因:因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来;
      解决办法:
      1.关闭mysql

               # service mysqld stop
              2.屏蔽权限
              # mysqld_safe --skip-grant-table
              屏幕出现: Starting demo from .....
              3.新开启一个终端输入
              # mysql -u root mysql
              mysql> delete from user where USER='';              //从用户表中删除匿名用户(空用户名的用户)
              mysql> FLUSH PRIVILEGES;                                    //使修改生效,否则如果关闭先前的终端,又会出现原来的错误
              mysql> quit

    • 报错信息:ERROR 1045 (28000): Access denied for user 'root'@'192.168.0.1' (using password: YES)
      解决办法:配置mysql数据库跳过校验:
      打开/etc/my.cnf,在mysqld下面添加skip-grant-tables,保存退出;
    三、其他:
            数据库备份(备份test数据库为test.sql):mysqldump -uroot -p123456 test >test.sql
            mysqldump --default-character-set=utf8 --routines --events -hlocalhost -uroot -p123456 zclouddb_v2 > /home/tmp/backup.sql
            (--routines:导出存储过程及触发器)
            登陆mysql:mysql -uroot -p
            切换数据库:use test;             (没有的话先创建再切换,创建:create database test;)
            数据库导入(导入test.sql):source /root/tmp/test.sql
            数据库删除:use mysql;
                                 DROP DATABASE test;
     
    • 忽略大小写:修改/etc/my.cnf,在[mysqld]下加入一行:lower_case_table_names=1
    • 设置最大字节数:修改/etc/my.cnf,在[mysqld]下加入一行:max_allowed_packet=4M
    • 修改数据库密码:可使用数据库连接工具连接数据库,打开命令行界面,
      >use mysql
      >update user set password=password("new_pass") where user="root"; 
      >flush privileges; 
      重启mysql:service mysqld restart
    • 更改数据存储位置:
      关闭数据库服务:service mysqld stop
      移动数据文件(yum安装后数据文件位置默认为:/var/lib/mysql):mv /var/lib/mysql /home/data/
      修改配置文件:vim /etc/my.cnf ,将datadir和socket两行内容修改为
      datadir=/home/data/mysql 和socket=/home/data/mysql/mysql.sock
      修改启动文件: vim /etc/init.d/mysqld,将get_mysql_option mysqld datadir "/var/lib/mysql"引号中内容修改为/home/data/mysql
      启动数据库服务:service mysqld start
  • 相关阅读:
    zabbix执行远程命令
    zabbix监控主从同步
    s3fs+minio模拟挂载S3服务器到本地服务器
    PHP编译报错
    ldd可执行程序时返回not a dynamic executable
    Windows nessus安装
    Django数据库,在原有表中添加新字段
    docker安装fastdfs与java客户端测试
    Docker安装与启动
    2018HBCPC
  • 原文地址:https://www.cnblogs.com/wangshi-work/p/5177139.html
Copyright © 2020-2023  润新知