简介
博主最近在研究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结果没安装成功了,但是启动不了,最后只能卸载了重新安装