在centos6.5中安装mysql5.7

时间:2021-09-09 21:21:50

简介

博主最近在研究mysql的读写分离和主从复制,一台master和两台slave,三台机器在同一个局域网中,首先就就要在centos6.5中安装mysql5.7。好了,废话不多说,接下来进入正题。

一、解压缩到/usr/local/下面,mysql的主目录命名为mysql

[root@localhost local]# cd /usr/local/soft/

[root@localhost soft]# tar zvxf mysql-5.7.-linux-glibc2.-i686.tar.gz -C /usr/local

[root@localhost soft]# cd ..

[root@localhost local]# mv mysql-5.7.-linux-glibc2.-i686/ mysql

二、在mysql下面创建data数据库文件目录

[root@localhost local]# mkdir mysql/data

三、创建mysql的用户组和用户,并对mysql目录设置用户组和用户

[root@localhost local]# groupadd mysql

[root@localhost local]# useradd mysql -g mysql

[root@localhost local]# cd mysql

[root@localhost mysql]# pwd

/usr/local/mysql

[root@localhost mysql]# chown -R mysql . #给名称为mysql的用户授权

[root@localhost mysql]# chgrp -R mysql .

四、初始化mysql并启动mysql服务

[root@localhost mysql]# cd /usr/local/mysql/bin

[root@localhost bin]# yum install libaio

[root@localhost bin]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

-- :: [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize

-- :: [WARNING] The bootstrap log isn't empty:

-- :: [WARNING] --09T04::.262989Z  [Warning] --bootstrap is deprecated. Please consider using --initialize instead

--09T04::.264643Z  [Warning] Changed limits: max_open_files:  (requested )

--09T04::.264653Z  [Warning] Changed limits: table_open_cache:  (requested )

[root@localhost bin]# cd /usr/local/mysql/support-files

[root@localhost support-files]# ./mysql.server start

Starting MySQL. SUCCESS! 

五、登录mysql,此版本最新版不许空密码登录,实际上有个初始化密码保存在/root/.mysql_secret这个文件里面,用这个密码第一次登录后,再修改密码。因此先cat查看下初始化密码(随机的,每次安装看到的密码都不一样):

[root@localhost ~]# cat /root/.mysql_secret

# Password set for user 'root@localhost' at -- ::
2t:tRP01UZ16 #利用初始化密码:2t:tRP01UZ16 开始登录mysql: [root@localhost ~]# cd /usr/local/mysql/bin [root@localhost bin]# ./mysql -uroot -p:2t:tRP01UZ16 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is Server version: 5.7.
Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

显示登录成功,可以执行mysql命令操作了!

六、改mysql的root密码,新密码在此为'admin'

mysql> set password=password('admin');

Query OK,  rows affected,  warning (0.00 sec)

七、设定远程登录mysql。在Linux下为了安全,默认是不允许mysql本机以外的机器访问mysql数据库服务,因此需要重新授权root。方便远程访问。

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select Host,User from user;

+-----------+-----------+

| Host      | User      |

+-----------+-----------+

| %         | root      |

| localhost | mysql.sys |

| localhost | root      |

+-----------+-----------+

 rows in set (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'admin';

Query OK,  rows affected,  warning (0.00 sec)

mysql> flush privileges;

Query OK,  rows affected (0.00 sec)

授权语句最后的‘admin’是mysql数据库root用户的新密码。

八、非必要的步骤,如果远程连不上,估计是防火墙的问题,关闭试试:

[root@localhost mysql]# service iptables stop

setenforce 0iptables:将链设置为政策 ACCEPT:filter        [确定]

iptables:清除防火墙规则:                                 [确定]

iptables:正在卸载模块:                                   [确定]

[root@localhost mysql]# setenforce 

setenforce: SELinux is disabled

九、将mysql设置为开机自启动,并添加软连接

[root@localhost mysql]# cd /usr/local/mysql/support-files/

[root@localhost support-files]# cp mysql.server /etc/init.d

[root@localhost support-files]# cd /etc/init.d

[root@localhost init.d]# mv mysql.server mysqld

[root@localhost init.d]# cd /usr/bin

[root@jacky bin]# ln -s /usr/local/mysql/bin/mysql mysql

注意问题:存放mysql解压文件路径/usr/local/mysql和存放mysql数据路径/usrl/local/mysql/data ,博主刚开始以为这个路径是自定义的,就命名为/usr/local/mysql5.7和/usrl/local/mysql5.7/data结果没安装成功了,但是启动不了,最后只能卸载了重新安装