Linux下glibc版MySQL5.7.20的安装

来源:互联网 发布:翻墙的软件 编辑:程序博客网 时间:2024/06/08 01:13

一、安装环境

操作系统:CentOS Linux release 7.4.1708 (Core) 

MySQL:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

二、下载、安装、配置过程

1、创建安装MySQL的用户geeklp,并指定用户目录。

[root@Geeklp-MySQL ~]# useradd -d /usr/local/mysql geeklp
[root@Geeklp-MySQL ~]# passwd geeklp

2、使用账户geeklp登录,切换到其用户目录下,下载mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz。

[root@Geeklp-MySQL ~]# su geeklp
[geeklp@Geeklp-MySQL root]$ cd ~

[geeklp@Geeklp-MySQL ~]$ curl -c - -O  http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

3、解压后移动相关文件并进行安装。

[geeklp@Geeklp-MySQL ~]$tar -xvzf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

[geeklp@Geeklp-MySQL mysql-5.7.20-linux-glibc2.12-x86_64]$ mv * ../

[geeklp@Geeklp-MySQL mysql-5.7.20-linux-glibc2.12-x86_64]$ cd ..
[geeklp@Geeklp-MySQL ~]$ rm -rf mysql-5.7.20-linux-glibc2.12-x86_64/

[geeklp@Geeklp-MySQL ~]$ mkdir data

[geeklp@Geeklp-MySQL ~]$ cd bin

[geeklp@Geeklp-MySQL bin]$ ./mysqld --user=mysql--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

此过程执行完成后注意记录密码。

4、修改配置文件,并设置开机启动。

[geeklp@Geeklp-MySQL bin]$ su root
[root@Geeklp-MySQL bin]# cd ../support-files/
[root@Geeklp-MySQL support-files]# mv mysql.server /etc/init.d/mysqld
[root@Geeklp-MySQL support-files]# chkconfig --list

[root@Geeklp-MySQL support-files]# chkconfig --add mysqld
[root@Geeklp-MySQL support-files]# chkconfig --list

5、修改/etc/my.cnf内容,如果没有该文件则新建之后在里面加入如下内容。

[mysqld]port = 3306basedir = /usr/local/mysqldatadir = /usr/local/mysql/datasocket = /tmp/mysql.sock    #特别注意一下,此路径不能随意修改,否则会报错character_set_server=utf8pid-file = /usr/local/mysql/data/mysql.pidlog-error = /usr/local/mysql/data/error.loguser = geeklptmpdir = /tmpmax_connections = 1500# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links = 0 # Settings user and group are ignored when systemd is used.# If you need to run mysqld under a different user or group,# customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd#[mysqld_safe]#log-error = /usr/local/mysql/mariadb.log#pid-file = /usr/local/mysql/mariadb.pid## include all files from the config directory##!includedir /etc/my.cnf.d[client]default-character-set = utf8
6、启动服务。

[root@Geeklp-MySQL mysql]# su geeklp
[geeklp@Geeklp-MySQL ~]$ service mysqld start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password: 
==== AUTHENTICATION COMPLETE ===
Starting MySQL. SUCCESS! 

如果使用非root用户启动则会要求输入root用户密码。再次重启服务的时候会提示:/var/lock/subsys/mysql无法删除,这是权限问题,切换到root用户下删除该文件即可。

7、修改密码。

[geeklp@Geeklp-MySQL ~]$ ./bin/mysql -u root -p
Enter password: 
mysql> set password for root@localhost='geeklp-test';

8、查看一下所支持的字符集。

mysql> show variables like '%char%';

以上就是glibc版MySQL安装的全部过程。

三、常见问题FAQ

1、用非root用户启动服务时报如下错误:rm: cannot remove '/var/lock/subsys/mysql': Permission denied

答:权限问题,将/var/lock/subsys/mysql的所有者改为启动用户,命令:chown geeklp:geeklp /var/lock/subsys/mysql

2、用户无法远程登录。

答:登入数据库,修改设置,让远程用户可以登录。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'geeklp-test' WITH GRANT OPTION;
FLUSH   PRIVILEGES;

原创粉丝点击