MySQL 安装

首先使用了阿里云的CentOS服务器安装,没有成功。总是提示 The server quit without updating PID file (/var/run/mysqld/xxxx.pid).
后来改使用自己虚拟机的CentOS成功。

基本步骤

卸载预先安装的 MySQL

[root@localhost bqq]# rpm -qa | grep -i mysql
MySQL-python-1.2.5-1.el7.x86_64
akonadi-mysql-1.9.2-4.el7.x86_64
perl-DBD-MySQL-4.023-6.el7.x86_64
qt-mysql-4.8.7-3.el7_6.x86_64

接着卸载包含MySQL的程序。
[root@localhost bqq]# rpm -e MySQL-python-1.2.5-1.el7.x86_64
[root@localhost bqq]# rpm -e akonadi-mysql-1.9.2-4.el7.x86_64
[root@localhost bqq]# rpm -e perl-DBD-MySQL-4.023-6.el7.x86_64

下载对应的MySQL源,并安装

  1. [root@localhost bqq]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  2. [root@localhost bqq]# sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
  3. [root@localhost bqq]# sudo yum install mysql-server

如果报错,内容含有

Error: Package: mysql-community-libs-5.6.35-2.el7.x86_64 (mysql56-community)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.35-2.el7.x86_64 (mysql56-community)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-server-5.6.35-2.el7.x86_64 (mysql56-community)
           Requires: systemd
Error: Package: mysql-community-server-5.6.35-2.el7.x86_64 (mysql56-community)
           Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-client-5.6.35-2.el7.x86_64 (mysql56-community)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

解决:

yum install glibc.i686
 yum list libstdc++*

启动 MySQL 服务

service mysql start
service mysql stop
service mysql status
service mysql restart

登录以及修改密码

//mysql 安装完成之后, 会自动生成一个随机的密码, 并且保存在一个密码文件中 : /root/.mysql_secret
mysql -u root -p
//登录之后, 修改密码 :
set password = password('itcast');
//授权远程访问 :
grant all privileges on *.* to 'root' @'%' identified by 'itcast';
flush privileges;
//创建用户及修改密码
create user u1@localhost identified by '123';
set password for u1@localhost = password('1');
mysql -uu1 -p
//授权用户
GRANT privileges ON  databasename.tablename  TO  ‘username’@‘host’
//privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
//databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。
//’username‘@‘host’:表示授权给哪个用户。
//撤销用户权限:
REVOKE   privileges   ON  database.tablename  FROM  ‘username’@‘host’;
//例如: REVOKE  SELECT ON  *.*  FROM  ‘zje’@‘%’;
但注意:
若授予权利是这样写: GRANT  SELECT  ON  *.*  TO ‘zje’@‘%’;
则用 REVOKE  SELECT ON   zje.aaa  TO  ‘zje’@‘%’;是不能撤销用户zje 对 zje.aaa 中的SELECT 权利的。
反过来 GRANT SELECT  ON  zje.aaa  TO  ‘zje’@‘%’;授予权力
用 REVOKE SELECT ON  *.*  FROM  ‘zje’@‘%’;也是不能用来撤销用户zje 对zje库的aaa表的SELECT 权利的