centos7下安装mysql-5.7.22.tar.gz

1.   下载解压MySQL

cd /usr/local/src
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

解压     tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz       

复制     cp -r mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

2、添加系统mysql组和mysql用户 

添加系统mysql组     groupadd mysql

添加mysql用户 useradd -r -g mysql mysql (添加完成后可用id mysql查看)

3、安装数据库

切到mysql目录 cd /usr/local/mysql

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

绑定数据目录 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

出现错误请参考文末注1

生成了临时密码

执行以下命令创建RSA私钥

  bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

修改当前data目录拥有者为mysql用户 chown -R mysql:mysql data

4、配置my.cnf

vim /etc/my.cnf    (直接把下面内容复制上就行)

    [mysqld]
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/tmp/mysql.sock
    #不区分大小写 (sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 这个简单来说就是sql语句是否严格)
    lower_case_table_names = 1
    log-error=/var/log/mysqld.log
    pid-file=/usr/local/mysql/data/mysqld.pid

添加开机启动     cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

修改   vim /etc/init.d/mysqld   

添加路径 在46行  

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

5、启动mysql   service mysqld start 

 加入开机起动    chkconfig --add mysqld  

6、登录修改密码 mysql -uroot -p 上面初始化时的密码(如果出现mysql命令未找到,请参考注2)

修改密码:
登录MySQL用UPDATE直接编辑user表

use mysql;
update user set password=password('123') where user='root' and host='localhost';
flush privileges;

或直接修改:

alter user user() identified by "123456";

 

注1:执行bin/mysqld命令时出现 bin/mysqld: error while loading shared libraries: libnuma.so.1:错误时执行以下解决方案

  如果安装mysql出现了以上的报错信息.这是却少numactl这个时候

  Centos就yum -y install numactl就可以解决这个问题了.
  ubuntu的就sudo apt-get install numactl就可以解决这个问题了

注2:如果出现mysq:command not found错误 需要添加软连接  ln -s /usr/local/mysql/bin/mysql /usr/bin 即可解决

注3:远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to connect to this MySQL server 
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'即可

mysql -u root -p  #以权限用户root登录
use mysql;  #选择mysql库
select 'host' from user where user='root';  #查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) 
update user set host = '%' where user ='root';  #修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址,如果这步出错"ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'" 由说明该记录有了,跳过这步
flush privileges;  #刷新MySQL的系统权限相关表 
select 'host' from user where user='root'; #再重新查看user表时,有修改。。
systemctl restart mysql#重起mysql服务即可完成

 注4:在忘记root密码的时候,可以这样,以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

posted @ 2018-10-19 17:23  列兵许四多  阅读(186)  评论(0)    收藏  举报