本文实例讲述了CentOS7安装mysql5.7解压缩版的方法。分享给大家供大家参考,具体如下:
1.下载安装包
http://dev.mysql.com/downloads/mysql/#downloads
推荐下载通用安装方法的TAR包
2.检查库文件是否存在,如有删除。
[root@localhost Desktop]$ rpm -qa | grep mysql mysql-libs-5.1.52-1.el6_0.1.x86_64 [root@localhost ~]$ rpm -e mysql-libs-5.1.52.x86_64 --nodeps [root@localhost ~]$
3.检查mysql组和用户是否存在,如无创建。
[root@localhost ~]$ cat /etc/group | grep mysql mysql:x:490: [root@localhost ~]$ cat /etc/passwd | grep mysql mysql:x:496:490::/home/mysql:/bin/bash 以上为默认存在的情况,如无,执行添加命令: [root@localhost ~]$groupadd mysql [root@localhost ~]$useradd -r -g mysql mysql //useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
4.解压TAR包,更改所属的组和用户
[root@localhost ~]$ cd /usr/local/ [root@localhost local]$ tar xvf mysql-5.7.12-linux-glibc2.5-x86_64.tar [root@localhost local]$ ls -l total 1306432 -rwxr--r--. 1 root root 668866560 Jun 1 15:07 mysql-5.7.12-linux-glibc2.5-x86_64.tar -rw-r--r--. 1 7161 wheel 638960236 Mar 28 12:54 mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz -rw-r--r--. 1 7161 wheel 29903372 Mar 28 12:48 mysql-test-5.7.12-linux-glibc2.5-x86_64.tar.gz [root@localhost local]$ tar xvfz mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz [root@localhost local]$ mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql [root@localhost local]$ ls -l total 1306436 drwxr-xr-x. 2 root root 4096 Dec 4 2009 bin drwxr-xr-x. 2 root root 4096 Dec 4 2009 etc drwxr-xr-x. 2 root root 4096 Dec 4 2009 games drwxr-xr-x. 2 root root 4096 Dec 4 2009 include drwxr-xr-x. 2 root root 4096 Dec 4 2009 lib drwxr-xr-x. 3 root root 4096 Dec 2 14:36 lib64 drwxr-xr-x. 2 root root 4096 Dec 4 2009 libexec drwxr-xr-x. 9 7161 wheel 4096 Mar 28 12:51 mysql -rwxr--r--. 1 root root 668866560 Jun 1 15:07 mysql-5.7.12-linux-glibc2.5-x86_64.tar -rw-r--r--. 1 7161 wheel 638960236 Mar 28 12:54 mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz -rw-r--r--. 1 7161 wheel 29903372 Mar 28 12:48 mysql-test-5.7.12-linux-glibc2.5-x86_64.tar.gz drwxr-xr-x. 2 root root 4096 Dec 4 2009 sbin drwxr-xr-x. 6 root root 4096 Dec 2 14:36 share drwxr-xr-x. 2 root root 4096 Dec 4 2009 src [root@localhost local]$ chown -R mysql mysql/ [root@localhost local]$ chgrp -R mysql mysql/ [root@localhost local]$ cd mysql/
5.安装和初始化数据库
[root@localhost mysql]$ bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 2016-06-01 15:23:25 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2016-06-01 15:23:30 [WARNING] The bootstrap log isn't empty: 2016-06-01 15:23:30 [WARNING] 2016-06-01T22:23:25.491840Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead 2016-06-01T22:23:25.492256Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000) 2016-06-01T22:23:25.492260Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
如果改变默认安装路径,则需要 1)/etc/my.cnf、/etc/init.d/mysqld中修改 basedir='/apps/mysql' datadir='/apps/mysql/data' 2)创建ln mkdir -p /usr/local/mysql/bin ln -s /apps/mysql/bin/mysqld /usr/local/mysql/bin/mysqld
[root@localhost mysql]$ [root@localhost mysql]$ cp -a ./support-files/my-default.cnf /etc/my.cnf [root@localhost mysql]$ cp -a ./support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql]$ cd bin/ [root@localhost bin]# ./mysqld_safe --user=mysql & [1] 2932 [root@localhost bin]# 2016-06-01T22:27:09.708557Z mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'. 2016-06-01T22:27:09.854913Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data [root@localhost bin]# /etc/init.d/mysqld restart Shutting down MySQL..2016-06-01T22:27:50.498694Z mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended SUCCESS! Starting MySQL. SUCCESS! [1]+ Done ./mysqld_safe --user=mysql [root@localhost bin]$ //设置开机启动 [root@localhost bin]$ chkconfig --level 35 mysqld on [root@localhost bin]$
6.初始化密码
mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录。
[root@localhost bin]$ cat /root/.mysql_secret # Password set for user 'root@localhost' at 2016-06-01 15:23:25 ,xxxxxR5H9 [root@localhost bin]$./mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.12 Copyright (c) 2000, 2016, 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> SET PASSWORD = PASSWORD('123456'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
7.添加远程访问权限
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> update user set host = '%' where user = 'root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select host, user from user; +-----------+-----------+ | host | user | +-----------+-----------+ | % | root | | localhost | mysql.sys | +-----------+-----------+ //一定要重启才会生效。 /etc/init.d/mysqld restart
遇到的问题:
找不到mysql.sock,mysql.sock丢失问题解决方法
连接Mysql时,机器上找不到mysql.sock文件你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。
[root@localhost mysql-5.7.13]# ./bin/mysql_install_db --user=mysql 2016-06-26 02:47:09 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2016-06-26 02:47:09 [ERROR] The data directory needs to be specified.
解决:需要新建data目录,指定安装目录(在非默认目录时需要指定,默认路径:/usr/local/mysql,同时需要指定./support-files/mysql.server中的basedir和datadir为相应路径)。
[root@localhost mysql-5.7.13]# ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.13/ --datadir=/usr/local/mysql-5.7.13/data/ 2016-06-26 02:48:47 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2016-06-26 02:49:19 [WARNING] The bootstrap log isn't empty: 2016-06-26 02:49:19 [WARNING] 2016-06-26T09:48:50.798592Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead 2016-06-26T09:48:50.898732Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000) 2016-06-26T09:48:50.898778Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
以上报错均因未在mysql.server中指定自定义的路径。
若是还提示已经有data文件了 删除了它,新建即可
希望本文所述对大家CentOS服务器维护有所帮助。