纵有疾风起
人生不言弃

Cent7安装mysql5.7.11全过程

下载mysql(注:其他版本未测试)

https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.11.tar.gz

1、安装依赖包

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel   bison perl perl-devel  perl perl-devel 

2、解压到/usr/local目录下

tar -zxvf mysql-boost-5.7.11.tar.gz -C /usr/local

3、创建mysql组和用户

groupadd mysqluseradd -r -g mysql -s /bin/false mysql

4、编译mysql

cd /usr/local/mysql-5.7.11/cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boostmake    #注意:此步骤过程非常慢,建议使用 -j 4 4核的方式处理  同时保证服务器的内存至少大于2Gmake install

5、把原来的/etc/my.cnf备份

cp /etc/my.cnf /etc/my.cnf.bakrm -f /etc/my.cnf

6、把安装目录用户和组更改为mysql

cd /usr/local/mysqlchown -R mysql .chgrp -R mysql .

7、创建一个数据目录

mkdir -p /data/mysql/data/

8、初始化mysql,及开启ssl新功能

bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data bin/mysql_ssl_rsa_setup  --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data 

9、 设为root是为了防止普通用户不小心删除数据库

chown -R root .chown -R mysql /data

10、拷贝配置文件

cp support-files//my-default.cnf /etc/my.cnfcp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

11、修改环境变量

vi /etc/profile # 在profile文件末尾增加两行 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH  # 使PATH搜索路径立即生效:source /etc/profile

12、修改配置文件

vi /etc/my.cnf#修改第19行(取消注释且修改为)   datadir = /data/mysql/data/ 

13、启动

service mysql start

 

到此,数据库就已经安装完毕了

 

接下需要打开防火墙3306端口

firewall-cmd –add-port=3306/tcp –permanent

firewall-cmd –reload

firewall-cmd –list-port

 

但是 mysql -u root -p 不能直接登录,于是更改密码,记录如下:

1)vi /etc/my.cnf  2)在[mysqld]下边的某个位置增加: skip-grant-tables  ,然后 :wq 保存退出3)在  /usr/local/mysql/bin目录下执行命令:  ./mysql -u root -p   ,然后回车两次,进入到mysql4)执行命令:use mysqlSET SQL_SAFE_UPDATES = 05)update mysql.user set authentication_string=password('root') where User='root';6)flush privileges ; 7)执行命令:SET SQL_SAFE_UPDATES = 18)vi /etc/my.cnf  ,删除skip-grant-tables 行9)service mysqld restart10) 在  /usr/local/mysql/bin目录下执行命令:  ./mysql -u root -p   然后输入新建的密码:root即可进入mysql 

虽然现在可以登录了,但我们需要在其他客户端远程连接此数据库,发现是连不通的

提示:Host ‘xxx’ is not allowed to connect to this MySQL server。网上找了一些资料,是mysql未开启mysql远程访问权限导致。

记录解决方案供以后参考。:

1.登录到mysql:  mysql -uroot -ppwd

2.查看user表: 

mysql> use mysql
Database changed
mysql> select host,user,password from user;
+——+——+——————————————-+
| host | user | password |
+——+——+——————————————-+
| localhost    | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+——+——+——————————————-+
1 row in set (0.00 sec)

表中host、user字段标识了可以访问数据库的主机和用户。例如上面的数据就表示只能本地主机通过root用户访问。原来如此,难怪远程连接死活连不上。

为了让数据库支持远程主机访问,

可以直接修改host字段的值,将localhost修改成需要远程连接数据库的ip地址。或者直接修改成%。修改成%表示,所有主机都可以通过root用户访问数据库。为了方便,我直接修改成%。命令:mysql> update user set host = ‘%’ where user = ‘root’;

再次查看user表

+——+——+——————————————-+
| host | user | password |
+——+——+——————————————-+
| % | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+——+——+——————————————-+
1 row in set (0.00 sec)

修改成功,输入命令mysql> FLUSH PRIVILEGES; 回车使刚才的修改生效,再次远程连接数据库成功。

 

文章转载于:https://www.cnblogs.com/lm970585581/p/9939423.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » Cent7安装mysql5.7.11全过程
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录