centOS 6.5 安装 mysql-5.7.22-linux-glibc2.12-x86

xiaoxiao2021-02-28  27

下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads

 

#卸载系统自带的Mariadb

[root@localhost local]# rpm -qa|grep mariadb mariadb-libs-5.5.52-1.el7.x86_64

 

[root@localhost local]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

 

#删除etc目录下的my.cnf文件 [root@localhost local]# rm /etc/my.cnf rm: 无法删除"/etc/my.cnf": 没有那个文件或目录 #检查mysql是否存在 [root@localhost local]# rpm -qa | grep mysql [root@localhost local]#  #检查mysql组和用户是否存在,如无创建 [root@localhost local]# cat /etc/group | grep mysql [root@localhost local]# cat /etc/passwd | grep mysql #创建mysql用户组 [root@localhost local]# groupadd mysql #创建一个用户名为mysql的用户并加入mysql用户组 [root@localhost local]# useradd -g mysql mysql #制定password 为************** [root@localhost local]# passwd mysql 更改用户 mysql 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 解压到指定文件夹下 tar -vxzf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.21-linux-glibc2.12-x86_64/ /usr/local/mysql/

#更改所属的组和用户 [root@localhost local]# chown -R mysql mysql/ [root@localhost local]# chgrp -R mysql mysql/ #在mysql文件夹下创建  数据库数据存储目录  data [root@localhost local]# cd mysql/ [root@localhost mysql]# mkdir data [root@localhost mysql]# chown -R mysql:mysql data #在etc下新建配置文件my.cnf,并在该文件内添加以下配置 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8  [mysqld] skip-name-resolve #设置3306端口 port = 3306  # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data # 允许最大连接数 max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8mb4 # 支持表情符号 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB  lower_case_table_names=1 max_allowed_packet=16M #安装和初始化 [root@localhost mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 2018-03-07 20:15:37 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2018-03-07 20:15:41 [WARNING] The bootstrap log isn't empty: 2018-03-07 20:15:41 [WARNING] 2018-03-07T12:15:38.240438Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead 2018-03-07T12:15:38.281730Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000) 2018-03-07T12:15:38.281756Z 0 [Warning] Changed limits: table_open_cache: 407 (requested 2000) [root@localhost mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld #将脚本文件设置成可执行文件 [root@localhost mysql]# chown 777 /etc/my.cnf [root@localhost mysql]# chmod a+x /etc/init.d/mysqld [root@localhost mysql]# /etc/init.d/mysqld restart  ERROR! MySQL server PID file could not be found! Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'. . SUCCESS!  [root@localhost mysql]# killall mysqld [root@localhost mysql]# /etc/init.d/mysqld start Starting MySQL. SUCCESS!  [root@localhost mysql]# /etc/init.d/mysqld restart Shutting down MySQL.. SUCCESS!  Starting MySQL. SUCCESS!  #设置开机启动 [root@localhost mysql]# chkconfig --level 35 mysqld on [root@localhost 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@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld [root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig --list mysqld [root@localhost mysql]# service mysqld status  SUCCESS! MySQL running (6272) #编辑  vi /etc/profile export PATH=$PATH:/usr/local/mysql/bin [root@localhost mysql]# source /etc/profile #获得初始密码 [root@localhost bin]# cat /root/.mysql_secret  # Password set for user 'root@localhost' at 2018-03-07 20:15:37  hgfs1Z1uMw2= #修改密码 [root@localhost bin]# mysql -uroot -p [root@localhost init.d]# mysql -u root -p Enter password:  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) #先关闭mysql [root@localhost init.d]# ./mysqld stop Shutting down MySQL.. SUCCESS! 

#使用安全模式登陆,跳过密码验证

 

[root@localhost init.d]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking& [1] 7059 [root@localhost init.d]# 2018-03-07T12:50:12.826995Z mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'. 2018-03-07T12:50:12.861526Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data [root@localhost init.d]# mysql -uroot  mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.21 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> set password = password('**************') ; Query OK, 1 row affected, 1 warning (0.01 sec) Rows matched: 1  Changed: 1  Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit Bye [root@localhost init.d]# ls functions  mysqld  netconsole  network  README [root@localhost init.d]# ./mysqld  Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ] [root@localhost init.d]# ./mysqld restart Shutting down MySQL..2018-03-07T12:54:40.379190Z mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended  SUCCESS!  Starting MySQL. SUCCESS!  [1]+  完成                  mysqld_safe --user=mysql --skip-grant-tables --skip-networking [root@localhost init.d]# 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.21 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> show databases     -> ; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> set password = password ('**************'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> show databases     -> ; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | sys                | +--------------------+ 4 rows in set (0.00 sec) mysql> exit; Bye [root@localhost init.d]# ps -ef|grep mysql root       7407      1  0 20:54 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid mysql      7608   7407  0 20:54 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid --port=3306 root       7660   5149  0 20:57 pts/0    00:00:00 grep --color=auto mysql [root@localhost init.d]# ls functions  mysqld  netconsole  network  README [root@localhost init.d]# ./mysqld stop Shutting down MySQL.. SUCCESS!  [root@localhost init.d]# ps -ef|grep mysql root       7696   5149  0 20:57 pts/0    00:00:00 grep --color=auto mysql [root@localhost init.d]# reboot PolicyKit daemon disconnected from the bus. We are no longer a registered authentication agent. Connection closing...Socket close.  

Connection closed by foreign host.

 

#添加远程访问权限 [root@localhost ~]# mysql -u root -p Enter password:  Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.21 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> 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> create user 'xxx'@'%' identified by '123'; Query OK, 0 rows affected (0.00 sec) #重启mysql [root@localhost init.d]# ./mysqld restart Shutting down MySQL.. SUCCESS!  Starting MySQL. SUCCESS!  #为了在任何目录下可以登录mysql [root@localhost init.d]# ln -s /usr/local/mysql/bin/mysql   /usr/bin/mysql

 

转载请注明原文地址: https://www.6miu.com/read-2619905.html

最新回复(0)