Linux(RHEL7及CentOS7)下glibc版MySQL5.7.20的安装

  1. 云栖社区>
  2. 博客>
  3. 正文

Linux(RHEL7及CentOS7)下glibc版MySQL5.7.20的安装

耕耘实录 2017-11-24 18:46:47 浏览1235
展开阅读全文

一、安装环境

操作系统: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

[root@Geeklp-MySQL support-files]#chkconfig mysqld on #设置开机启动

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

[mysqld]
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock    #特别注意一下,此路径不能随意修改,否则会报错
character_set_server=utf8
pid-file = /usr/local/mysql/data/mysql.pid
log-error = /usr/local/mysql/data/error.log
user = geeklp
tmpdir = /tmp
max_connections = 1500
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-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;

网友评论

登录后评论
0/500
评论