## 卸载系统自带的Mariadb
[root@localhost ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -qa | grep mariadb
[root@localhost ~]#
删除etc目录下的my.cnf文件
[root@localhost ~]# rm /etc/my.cnf
rm: cannot remove ‘/etc/my.cnf’: No such file or directory
[root@localhost ~]#
检查mysql是否存在
[root@localhost ~]# rpm -qa | grep mysql
[root@localhost ~]#
检查mysql组和用户是否存在,如无创建
[root@localhost ~]# cat /etc/group | grep mysql
[root@localhost ~]# cat /etc/passwd | grep mysql
[root@localhost ~]#
创建mysql用户组
[root@localhost ~]# groupadd mysql
[root@localhost ~]# cat /etc/group | grep mysql
mysql:x:1001:
创建一个用户名为mysql的用户并加入mysql用户组
[root@localhost ~]# useradd -g mysql mysql
[root@localhost ~]# cat /etc/passwd | grep mysql
mysql:x:1001:1001::/home/mysql:/bin/bash
[root@localhost ~]#
指定password 为 mysql
[root@localhost ~]# passwd mysql
Changing password for user mysql.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
将mysql安装到/usr/local/bigdata下
[root@localhost bigdata]# ll
total 625636
drwxr-xr-x. 10 hd hd 161 Aug 27 01:24 hadoop
drwxr-xr-x. 8 hd hd 255 Mar 15 04:35 jdk1.8
-rw-r--r--. 1 root root 640650826 Aug 27 05:55 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
[root@localhost bigdata]# tar -zxf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
[root@localhost bigdata]# ll
total 625636
drwxr-xr-x. 10 hd hd 161 Aug 27 01:24 hadoop
drwxr-xr-x. 8 hd hd 255 Mar 15 04:35 jdk1.8
drwxr-xr-x. 9 root root 129 Aug 27 05:57 mysql-5.7.19-linux-glibc2.12-x86_64
-rw-r--r--. 1 root root 640650826 Aug 27 05:55 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
[root@localhost bigdata]# mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql57
[root@localhost bigdata]# ll
total 625636
drwxr-xr-x. 10 hd hd 161 Aug 27 01:24 hadoop
drwxr-xr-x. 8 hd hd 255 Mar 15 04:35 jdk1.8
drwxr-xr-x. 9 root root 129 Aug 27 05:57 mysql57
-rw-r--r--. 1 root root 640650826 Aug 27 05:55 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
[root@localhost]
## 更改所属的组和用户
[root@localhost bigdata]# chown -R mysql mysql57/
[root@localhost bigdata]# ll
total 0
drwxr-xr-x. 10 hd hd 161 Aug 27 01:24 hadoop
drwxr-xr-x. 8 hd hd 255 Mar 15 04:35 jdk1.8
drwxr-xr-x. 9 mysql root 129 Aug 27 05:57 mysql57
[root@localhost bigdata]# chgrp -R mysql mysql57/
[root@localhost bigdata]# ll
total 0
drwxr-xr-x. 10 hd hd 161 Aug 27 01:24 hadoop
drwxr-xr-x. 8 hd hd 255 Mar 15 04:35 jdk1.8
drwxr-xr-x. 9 mysql mysql 129 Aug 27 05:57 mysql57
root@localhost mysql57]# mkdir data
[root@localhost mysql57]# chown -R mysql:mysql data
[root@localhost mysql57]# ll
total 36
drwxr-xr-x. 2 mysql mysql 4096 Aug 27 05:57 bin
-rw-r--r--. 1 mysql mysql 17987 Jun 22 10:13 COPYING
drwxr-xr-x. 2 mysql mysql 6 Aug 27 06:02 data
drwxr-xr-x. 2 mysql mysql 55 Aug 27 05:57 docs
drwxr-xr-x. 3 mysql mysql 4096 Aug 27 05:57 include
drwxr-xr-x. 5 mysql mysql 229 Aug 27 05:57 lib
drwxr-xr-x. 4 mysql mysql 30 Aug 27 05:57 man
-rw-r--r--. 1 mysql mysql 2478 Jun 22 10:13 README
drwxr-xr-x. 28 mysql mysql 4096 Aug 27 05:57 share
drwxr-xr-x. 2 mysql mysql 90 Aug 27 05:57 support-files
[root@localhost mysql57]#
在etc下新建配置文件my.cnf,并在该文件内添加以下配置
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/bigdata/mysql57
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/bigdata/mysql57/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
安装和初始化
[root@localhost mysql57]# bin/mysql_install_db --user=mysql --basedir=/usr/local/bigdata/mysql57 --datadir=/usr/local/bigdata/mysql57/data/
2017-08-27 06:08:18 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2017-08-27 06:08:20 [WARNING] The bootstrap log isn't empty:
2017-08-27 06:08:20 [WARNING] 2017-08-27T10:08:18.703344Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2017-08-27T10:08:18.705509Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2017-08-27T10:08:18.705523Z 0 [Warning] Changed limits: table_open_cache: 407 (requested 2000)
[root@localhost mysql57]#
[root@localhost mysql57]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql57]# chown 777 /etc/my.cnf
[root@localhost mysql57]# chmod +x /etc/init.d/mysqld
[root@localhost mysql57]# /etc/init.d/mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL.Logging to '/usr/local/bigdata/mysql57/data/localhost.localdomain.err'.
SUCCESS!
设置开机启动
[root@localhost mysql57]# chkconfig --level 35 mysqld on
[root@localhost mysql57]# chkconfig --list mysqld
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost mysql57]# chmod +x /etc/rc.d/init.d/mysqld
[root@localhost mysql57]# chkconfig --add mysqld
[root@localhost mysql57]# chkconfig --list mysqld
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost mysql57]# service mysqld status
SUCCESS! MySQL running (4822)
[root@localhost mysql57]#
设置/etc/profile/
export PATH=$PATH:/usr/local/bigdata/mysql557/bin
获得初始密码
[root@localhost mysql57]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2017-08-27 06:08:18
zm&nSHM5Etpw
修改密码
root@localhost mysql57]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.19
Copyright (c) 2000, 2017, 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('root')
-> ;
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
添加远程访问权限
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.session |
| localhost | mysql.sys |
+-----------+---------------+
3 rows in set (0.00 sec)
重启生效
[root@localhost mysql57]# systemctl restart mysql.service
[root@localhost mysql57]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
为了在任何目录下可以登录mysql
[root@localhost mysql57]# ln -s /usr/local/bigdata/mysql57/bin/mysql /usr/bin/mysql