Centos7.4安装mysql5.6
安装步骤
下载mysql5.6
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
1.卸载老版本MySQL
查找并删除mysql有关的文件
find / -name mysql
[root@localhost mysql]# find / -name mysql
find: ‘/run/user/1000/gvfs’: 权限不够
/run/lock/subsys/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/bin/mysql
/home/app/mysql
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]# rm -rf /etc/selinux/targeted/active/modules/100/mysql /var/lib/mysql /var/lib/mysql/mysql /usr/lib64/mysql /usr/share/mysql /usr/local/mysql /usr/local/mysql/include/mysql /usr/local/mysql/bin/mysql /run/lock/subsys/mysql
[root@localhost mysql]# find / -name mysql
find: ‘/run/user/1000/gvfs’: 权限不够
/home/app/mysql
[root@localhost mysql]#
2.解压安装包
移动解压包到 /usr/local/mysql中
[root@localhost mysql]# tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64
[root@localhost mysql]# ls
mysql-5.6.40-linux-glibc2.12-x86_64 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
[root@localhost mysql]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql
如果不移动包到/usr/local/mysql中有可能出现以下错误
[root@localhost mysql-5.6.40]# ./support-files/mysql.server start
./support-files/mysql.server:行244: my_print_defaults: 未找到命令
./support-files/mysql.server: 第 264 行:cd: /usr/local/mysql: 没有那个文件或目录
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
[root@localhost mysql]#
解决方案修改./support-files/mysql.server 66-73行/usr/local/修改为 你mysql的路径
3.添加mysql用户组和mysql用户
先检查是否有mysql用户组 goups mysql
如果没有创建,如果存在则跳过
[admin@localhost ~]$ groups mysql
groups mysql : No such user
[admin@localhost ~]$ groupadd mysql
[admin@localhost ~]$ useradd -r -g mysql mysql
[admin@localhost ~]$ groups mysql
mysql : mysql
4.进入mysql目录更改权限
修改mysql目录的权限为mysql chown -R mysql:mysql ./
[admin@localhost mysql]$ chown -R mysql:mysql ./
5.执行安装命令
./scripts/mysql_install_db --user=mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
Installing MySQL system tables...2019-06-14 12:23:31 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-06-14 12:23:31 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2019-06-14 12:23:31 0 [Note] ./bin/mysqld (mysqld 5.6.40) starting as process 51212 ...
2019-06-14 12:23:31 51212 [Note] InnoDB: Using atomics to ref count buffer pool pages
2019-06-14 12:23:31 51212 [Note] InnoDB: The InnoDB memory heap is disabled
2019-06-14 12:23:31 51212 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-06-14 12:23:31 51212 [Note] InnoDB: Memory barrier is not used
2019-06-14 12:23:31 51212 [Note] InnoDB: Compressed tables use zlib 1.2.3
安装完成之后执行授权命令 mysql目录下的文件给root用户 然后data文件夹给mysql用户
chown -R root:[root用户的密码]./ 示例 chown -R root:123456 ./
[root@localhost mysql]# chown root:123456 ./
[root@localhost mysql]# ll
总用量 52
drwxr-xr-x. 2 root root 4096 6月 14 11:17 bin
-rw-r--r--. 1 root root 17987 2月 26 2018 COPYING
drwxr-xr-x. 3 root root 18 6月 14 11:17 data
drwxr-xr-x. 2 root root 55 6月 14 11:17 docs
drwxr-xr-x. 3 root root 4096 6月 14 11:17 include
drwxr-xr-x. 3 root root 4096 6月 14 11:17 lib
drwxr-xr-x. 4 root root 30 6月 14 11:17 man
-rw-r--r--. 1 root root 943 6月 14 12:23 my.cnf
drwxr-xr-x. 10 root root 4096 6月 14 11:17 mysql-test
-rw-r--r--. 1 root root 2496 2月 26 2018 README
drwxr-xr-x. 2 root root 30 6月 14 11:17 scripts
drwxr-xr-x. 28 root root 4096 6月 14 11:17 share
drwxr-xr-x. 4 root root 4096 6月 14 11:17 sql-bench
drwxr-xr-x. 2 root root 136 6月 14 11:17 support-files
[root@localhost mysql]# chown mysql:mysql data/
[root@localhost mysql]# ll
总用量 52
drwxr-xr-x. 2 mysql mysql 4096 6月 14 11:17 bin
-rw-r--r--. 1 mysql mysql 17987 2月 26 2018 COPYING
drwxr-xr-x. 3 mysql mysql 18 6月 14 11:17 data
drwxr-xr-x. 2 mysql mysql 55 6月 14 11:17 docs
drwxr-xr-x. 3 mysql mysql 4096 6月 14 11:17 include
drwxr-xr-x. 3 mysql mysql 4096 6月 14 11:17 lib
drwxr-xr-x. 4 mysql mysql 30 6月 14 11:17 man
-rw-r--r--. 1 root root 943 6月 14 12:23 my.cnf
drwxr-xr-x. 10 mysql mysql 4096 6月 14 11:17 mysql-test
-rw-r--r--. 1 mysql mysql 2496 2月 26 2018 README
drwxr-xr-x. 2 mysql mysql 30 6月 14 11:17 scripts
drwxr-xr-x. 28 mysql mysql 4096 6月 14 11:17 share
drwxr-xr-x. 4 mysql mysql 4096 6月 14 11:17 sql-bench
drwxr-xr-x. 2 mysql mysql 136 6月 14 11:17 support-files
[root@localhost mysql]#
6.启动mysql数据库
执行 ./support-files/mysql.server start 启动mysql数据库
[root@localhost mysql]# ./support-files/mysql.server start
Starting MySQL. SUCCESS!
[root@localhost mysql]#
有可能会出现以下错误
解决方案:创建一个/var/log/mariadb/mariadb.log文件
[root@localhost mysql]# ./support-files/mysql.server start
Starting MySQL.190614 10:32:24 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
[root@localhost mysql]#
7.修改root用户的密码并启动进入数据库
./bin/mysqladmin -u root -h localhost.localdomain password 'root'
[root@localhost mysql]# ./bin/mysqladmin -u root -h localhost.localdomain password 'root'
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql]#
[root@localhost mysql]# ./bin/mysql -h127.0.0.1 -uroot -proot
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.40 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, 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>
进入之后也可以修改其他用户的密码
update mysql.user set password=password('root') where user='root';
mysql> update mysql.user set password=password('root') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 4 Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
8.增加远程登录
grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;
mysql> grant all privileges on *.* to root@'%' identified by 'root';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
9.将mysql加入service系统服务
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@localhost mysql]# service mysqld status
SUCCESS! MySQL running (53459)
[root@localhost mysql]#
10.修改配置文件
添加
character_set_server=utf8
lower_case_table_names=1
max_allowed_packet=100M
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character_set_server=utf8
lower_case_table_names=1
max_allowed_packet=100M
# 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=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
配置好之后,重启mysqld服务
[root@localhost mysql]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@localhost mysql]#