linux MySQL rpm安装攻略

1.https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 
下载安装包。
之前MySQL安装失败是因为选择的版本问题, 建议选择【linux-generic】
解压:
tar zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 
//将文件放到/usr/local/mysql路径中
mv mysql-5.7.21-linux-glibc2.12-x86_64/* /usr/local/mysql
创建MySQL用户和组
groupadd mysql
useradd -r -g mysql mysql
将/usr/loacal/mysql下的所有文件授权给mysql用户
chown -R mysql:mysql ./
修改目录权限
chown -R root:root .
chown -R mysql:mysql data
修改数据库默认目录
/etc/my.cnf
将一下两个路径修改为
datadir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
初始化数据库
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
添加service
cp support-files/mysql.server /etc/init.d/mysqld
启动
service mysqld start

这里写图片描述

开机启动
chkconfig mysqld on
#初始化mysql的一些设置
mysql_secure_installation
回车
Enter current password for root (enter for none):
#y,设置mysql的root密码
Set root password?[Y/n] y
#以下都yes
Remove anonymous users?[Y/n] y
Disallow root login remotely?[Y/n] y
Remove test database and access to it?[Y/n] y
Reload privilege tables now?[Y/n] y
ThanksforusingMySQL!
允许远程登陆
1.  mysql> use mysql; 
2.  mysql> select host,user,password from user; 
3.  mysql> update user set password=password('123456') where user='root'; 
4.  mysql> update user set host='%' where user='root' and host='localhost'; 
5.  mysql> flush privileges; 

安装过程中遇到的问题和解决方案:

错误:
Starting MySQL.2018-02-06T04:41:24.042281Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log'
解决办法:
到/var/log/mariadb/下手动创建mariadb.log文件
错误 :
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/lichenyi.pid).
解决方案:
/var/lib/mysql/下手动创建lichenyi.pid文件
错误:mysqld: Table 'mysql.plugin' doesn't exist
解决方案:
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
执行的过程中如果报
2018-02-06 13:01:10 [ERROR]  The data directory needs to be specified
删除mysql的data目录,重新执行
错误:
Starting MySQL.The server quit without updating PID file 
解决方案:
将 /etc/下的 my.cnf 文件删除,再次启动MySQL服务, 主要原因是my.cnf中的配置有错
错误“:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
解决方案:
通过 service mysqld status 查看原来是mysqld_pid_file_path后边之前改动了,还原就可以了
错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user mysql' at line 1
解决方案:
set password = password('mysql1234');
[root@lichenyi download]# yum update
Loaded plugins: fastestmirror
mysql-connectors-community                                                                                 | 2.5 kB 00:00:00   
mysql-tools-community                                                                                   | 2.5 kB 00:00:00   
mysql57-community                                                                                     | 2.5 kB 00:00:00   
(1/3): mysql-tools-community/x86_64/primary_db                                                                       | 39 kB 00:00:00   
(2/3): mysql-connectors-community/x86_64/primary_db                                                                    | 18 kB 00:00:00   
(3/3): mysql57-community/x86_64/primary_db                                                                         | 139 kB 00:00:00   
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 1:net-snmp-5.7.2-28.el7_4.1.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
---> Package mysql-community-libs.x86_64 0:5.7.21-1.el6 will be obsoleting
--> Processing Dependency: mysql-community-common(x86-64) >= 5.7.9 for package: mysql-community-libs-5.7.21-1.el6.x86_64
---> Package mysql-community-libs-compat.x86_64 0:5.7.21-1.el6 will be obsoleting
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 1:net-snmp-5.7.2-28.el7_4.1.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
---> Package mysql-community-common.x86_64 0:5.7.21-1.el6 will be installed
--> Finished Dependency Resolution
Error: Package: 2:postfix-2.10.1-6.el7.x86_64 (@anaconda)
      Requires: libmysqlclient.so.18()(64bit)
      Removing: 1:mariadb-libs-5.5.56-2.el7.x86_64 (@base)
        libmysqlclient.so.18()(64bit)
      Obsoleted By: mysql-community-libs-5.7.21-1.el6.x86_64 (mysql57-community)
       ~libmysqlclient.so.20()(64bit)
Error: Package: 2:postfix-2.10.1-6.el7.x86_64 (@anaconda)
      Requires: libmysqlclient.so.18(libmysqlclient_18)(64bit)
      Removing: 1:mariadb-libs-5.5.56-2.el7.x86_64 (@base)
        libmysqlclient.so.18(libmysqlclient_18)(64bit)
      Obsoleted By: mysql-community-libs-5.7.21-1.el6.x86_64 (mysql57-community)
        Not found
Error: Package: 1:net-snmp-5.7.2-28.el7_4.1.x86_64 (@updates)
      Requires: libmysqlclient.so.18()(64bit)
      Removing: 1:mariadb-libs-5.5.56-2.el7.x86_64 (@base)
        libmysqlclient.so.18()(64bit)
      Obsoleted By: mysql-community-libs-5.7.21-1.el6.x86_64 (mysql57-community)
       ~libmysqlclient.so.20()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


解决办法:
yum remove mysql-libs   删除后,重新安装

总结:安装MySQL一定要学会通过service mysqld status查看错误信息

安装完成后需要用的命令

mysql -u root -p
select database();
show databases;
//修改密码
use user;
update user set host = '%' where user = 'root';
//刷新服务
FLUSH PRIVILEGES;

猜你喜欢

转载自blog.csdn.net/io97704842/article/details/79272573