Centos7 安装mysql5.7.x
centos7 x64 安装mysql5.7+
1)使用Red Hat Enterprise Linux Select Version:5.7.25 Select Operating System:Red Hat Enterprise Linux / Oracle Linux Select OS Version:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit) 列表中下载: Compressed TAR Archive:(mysql-5.7.25-el7-x86_64.tar.gz) 2)使用Linux - Generic Select Version:5.7.25 Select Operating System:Linux - Generic Select OS Version:Linux - Generic (glibc 2.12) (x86, 64-bit) 列表中下载: Compressed TAR Archive:(mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz)【本文中使用的是这个版本】
1、上传 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 到服务器 /usr/local/ 目录
2、解压
tar -xzvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
3、改名
mv mysql-5.1.73-linux-x86_64-glibc23 mysql
4、创建Mysql用户组
1)创建mysql 组 groupadd mysql 2)创建MySQL用户但该用户不能登陆(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限) useradd -r -g mysql -s /bin/false mysql 3)把刚创建的mysql用户加入到mysql组下 chown -R mysql:mysql ./
# 更改所属的组和用户 [root@cdh03 ~]# cd /usr/local/ [root@cdh03 local]# chown -R mysql mysql/ [root@cdh03 local]# chgrp -R mysql mysql/ [root@cdh03 local]# cd mysql/ [root@cdh03 mysql]# mkdir data [root@cdh03 mysql]# chown -R mysql:mysql data
5、创建mysql 安装初始化配置文件
vi /etc/my.cnf
[mysql] socket=/usr/local/mysql/mysql.sock # set mysql client default chararter default-character-set=utf8 [mysqld] socket=/usr/local/mysql/mysql.sock # set mysql server port port =3306 # set mysql install base dir basedir=/usr/local/mysql # set the data store dir datadir=/usr/local/mysql/data # set the number of allow max connnection max_connections=200 # set server charactre default encoding character-set-server=utf8 # the storage engine default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=16M explicit_defaults_for_timestamp=true transaction-isolation = READ-COMMITTED symbolic-links = 0 key_buffer_size = 32M max_allowed_packet = 32M thread_stack = 256K thread_cache_size = 64 query_cache_limit = 8M query_cache_size = 64M query_cache_type = 1 max_connections = 550 #log_bin=/usr/local/mysql/mysql_binary_log server_id=1 binlog_format = mixed read_buffer_size = 2M read_rnd_buffer_size = 16M sort_buffer_size = 8M join_buffer_size = 8M innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 64M innodb_buffer_pool_size = 4G innodb_thread_concurrency = 8 innodb_flush_method = O_DIRECT innodb_log_file_size = 512M [mysql.server] #user=mysql basedir=/usr/local/mysql
6、安装和初始化
# 进入mysql [root@cdh03 local]# cd /usr/local/mysql # 安装mysql [root@cdh03 mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 2019-03-08 18:11:07 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2019-03-08 18:11:24 [WARNING] The bootstrap log isn't empty: 2019-03-08 18:11:24 [WARNING] 2019-03-08T10:11:07.208602Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
设置目录及目录权限
[root@cdh03 mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld [root@cdh03 mysql]# chown 777 my.cnf [root@cdh03 mysql]# ls bin COPYING data docs include lib man my.cnf README share support-files [root@cdh03 mysql]# ls -l total 60 drwxr-xr-x 2 root root 4096 Mar 8 15:56 bin -rw-r--r-- 1 7161 31415 17987 Dec 21 18:39 COPYING drwxr-x--- 5 mysql mysql 4096 Mar 8 16:21 data drwxr-xr-x 2 root root 4096 Mar 8 15:56 docs drwxr-xr-x 3 root root 4096 Mar 8 15:56 include drwxr-xr-x 5 root root 4096 Mar 8 15:56 lib drwxr-xr-x 4 root root 4096 Mar 8 15:56 man -rw-r--r-- 1 777 root 516 Mar 8 16:19 my.cnf -rw-r--r-- 1 7161 31415 2478 Dec 21 18:39 README drwxr-xr-x 28 root root 4096 Mar 8 15:56 share drwxr-xr-x 2 root root 4096 Mar 8 15:56 support-files [root@cdh03 mysql]# chmod +x /etc/init.d/mysqld [root@cdh03 mysql]# mkdir data [root@cdh03 mysql]# chown -R mysql:mysql data [root@cdh03 mysql]#
7、启动msql
#启动mysql [root@cdh03 software]# /etc/init.d/mysqld restart MySQL server PID file could not be found! [失败] Starting MySQL..The server quit without updating PID file ([失败]ocal/mysql/data/cdh03.pid). #出现错误,解决方案如下: #找到是否已经有进程占用 [root@cdh03 mysql]# ps -ef|grep mysql #关闭找到的进程 [root@cdh03 software]# kill -9 9682 9848 # 重启mysql [root@cdh03 mysql]# /etc/init.d/mysqld restart Shutting down MySQL... [ 确定 ] Starting MySQL.... [ 确定 ] [root@cdh03 mysql]#
8、设置开机启动
#设置开机启动 [root@cdh03 mysql]# chkconfig --level 35 mysqld on [root@cdh03 mysql]# chkconfig --list mysqld 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@cdh03 mysql]# service mysqld status MySQL running (13894) [ 确定 ] [root@cdh03 mysql]# chmod +x /etc/rc.d/init.d/mysqld [root@cdh03 mysql]# chkconfig --add mysqld [root@cdh03 mysql]# chkconfig --list mysqld 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
9、修改配置文件
# 进入/etc/profile文件夹 [root@cdh03 mysql]# vim /etc/profile 修改/etc/profile,在最后添加如下内容 # 修改/etc/profile文件 #set mysql environment export PATH=$PATH:/usr/local/mysql/bin # 使文件生效 [root@cdh03 mysql]# source /etc/profile
10、获取mysl初始密码
1)获取mysql初始密码
[root@cdh03 mysql]# cat /root/.mysql_secret # Password set for user 'root@localhost' at 2020-08-11 09:38:00 Gm,tJEJ_0g%h [root@cdh03 mysql]#
2)修改密码
[root@cdh03 mysql]# 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.30 Copyright (c) 2000, 2020, 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.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> exit Bye [root@cdh03 mysql]#
11、使用新密码登录
[root@cdh03 mysql]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.30 MySQL Community Server (GPL) Copyright (c) 2000, 2020, 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> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql>
12、添加远程访问权限
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) mysql>
完