赞
踩
查看系统中是否有mysql相关的东西。
rpm -qa | grep mysql
rpm -qa | grep mariadb
如果存在则进行步骤2删除。
删除命令:
rpm -e --nodeps $(rpm -qa | grep mariadb)
删除后再次查看:
rpm -qa | grep mariadb
我这里系统中只有mariadb相关,只做了这个删除。
本次把mysql安装在 **/home** 文件夹
命令:
cd /home/
命令:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
注意:压缩包也可以通过百度网盘下载,自己上传到 /home文件夹下:
下载:
下载完成查看:
tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
cd mysql
mkdir data
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
id mysql
我们mysql安装在 /home下,data数据也在该目录下,只需授权**/home/mysql**目录即可。
命令:
chown -R mysql:mysql /home/mysql
编辑配置文件命令:
cat <<EOF>> /root/.bash_profile
然后输入:
export PATH=\$PATH:/home/mysql/bin
回车。
输入:
EOF
回车。
刷新配置文件:
source /root/.bash_profile
查看配置文件:
cat /root/.bash_profile
需要安装一下依赖包,不然可能会导致mysql安装失败。
yum -y install autoconf
touch /etc/my.cnf
/etc/my.cnf 文件的内容:
[mysqld] user=mysql port=3306 basedir=/home/mysql datadir=/home/mysql/data socket=/tmp/mysql.sock log-error=/home/mysql/data/mysql.log pid-file=/home/mysql/data/mysql.pid slow_query_log=on long_query_time=8 #如果运行的sQL语句没有使用索引,则mysql数据库同样会将这条sQL语句记录到慢查询日志文件中。 log-queries-not-using-indexes default_storage_engine=InnoDB innodb_file_per_table = on #忽略主机名解析,提高访问速度(注意配置文件中使用主机名将不能解析) skip_name_resolve = on character-set-server=utf8mb4 query_cache_type=1 query_cache_limit = 2M query_cache_size = 128M max_connections = 1000 skip_grant_tables 登录时跳过安全检查 ##客户端 [mysql] socket=/tmp/mysql.sock default-character-set=utf8mb4 [client] port=3306 socket=/tmp/mysql.sock default-character-set=utf8mb4
cat /etc/my.cnf
cd /home/mysql/bin
mysql_install_db --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data/
mysqld -initialize --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data/
cd /home/mysql/support-files/
./mysql.server start
如果出现异常:
[root@localhost support-files]# ./mysql.server start
./mysql.server:行239: my_print_defaults: 未找到命令
./mysql.server: 第 259 行:cd: /usr/local/mysql: 没有那个文件或目录
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
处理方式修改 mysql.server
文件:
vi mysql.server
把文件中的默认路径 /usr/local
修改为我们的安装路径 /home
修改前:
修改后:
再次重启数据库:
mysql -u -root
执行 命令(在任何目录下都可执行该命令)把我们的mysql启动脚本复制一份:
cp /home/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
查看mysql是否加入开机启动列表:
chkconfig --list | grep mysql
配置完之后就可以用 service mysql start
启动 MySQL 服务!
启动服务:
service mysql start
重启服务:
service mysql restart
关闭服务:
service mysql stop
mysql -u root -p
回车后输入密码,回车进入数据库。
我们暂时使用跳过密码模式,无需数据密码回车就能进入数据库。
下面会把该模式关闭。
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
service mysql restart
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=3306/tcp
确定一下 /etc/my.cnf
文件有 skip-grant-tables
且没有被注释掉。
如果修改了该文件,则需要重启mysql服务。
我们这里无需重启直接进入mysql:
mysql -u root
use mysql;
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges;
/etc/my.cnf
注释掉 skip-grant-tables
service mysql restart
如果远程连接报错:
处理方式:
进入mysql,修改密码,持久化设置。
mysql -u root -p
输入密码,之前设置的123456
回车进入数据库。
在数据库操作设置密码,设置持久化,刷新。
set password=password('123456');
alter user 'root'@'%' password expire never;
flush privileges;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。