CentOS7.0 mysql 安装部署相关问题集合

标题root不能远程登陆的问题

  1. 将root的host值由localhost 改为 % 即所有远程IP均可登陆
    update user set host=’%’ where user =‘root’ and host=‘localhost’;
  2. 8.0后密码方式有所改变, navicat等客户端加密方式还未变,换回原来的nativ_password加密方式
    ALTER USER root@"%" PASSWORD EXPIRE NEVER;
    alter user root@’%’ identified with mysql_native_password by ‘yourpassword’

新装了mysql8.0后再用navicat链接就会报2059的错误。

上网查了发现是8.0之后mysql更改了密码的加密规则,只要在命令窗口把加密方法改回去即可。

alter user root@localhost identified by ‘password’ password expire never;
alter user root@localhost identified with mysql_native_password by ‘password’;
flush privileges;
其中单引号圈起的‘password’是你的数据库密码而不是字符password。

标题要安装validate_password组件,请使用以下语句:

INSTALL COMPONENT ‘file://component_validate_password’;
组件安装是一次性操作,无需在每个服务器启动时完成。INSTALL COMPONENT加载组件,并将其注册到mysql.component系统表中,以便在后续服务器启动期间加载它。

要卸载validate_password组件,请使用以下语句:

UNINSTALL COMPONENT ‘file://component_validate_password’;
UNINSTALL COMPONENT卸载组件,并从mysql.component系统表中取消注册, 以使其在后续服务器启动期间不被加载。

Mysql权限控制 - 允许用户远程连接
Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作:

一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,

具体操作如下:

在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:

mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

二、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下: 在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作: GRANT ALL PRIVILEGES ON . TO root@“172.16.16.152” IDENTIFIED BY “youpassword” WITH GRANT OPTION; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit

三、允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下: 在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作: GRANT select,insert,update,delete ON . TO root@“172.16.16.152” IDENTIFIED BY “youpassword”; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit

四、删除用户授权,需要使用REVOKE命令,具体命令格式为: REVOKE privileges ON 数据库[.表名] FROM user-name; 具体实例,先在本机登录mysql: mysql -u root -p"youpassword" 进行授权操作: GRANT select,insert,update,delete ON TEST-DB TO test-user@“172.16.16.152” IDENTIFIED BY “youpassword”; 再进行删除授权操作: REVOKE all on TEST-DB from test-user; ****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。 最后从用户表内清除用户: DELETE FROM user WHERE user=“test-user”; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit

五、MYSQL权限详细分类: 全局管理权限: FILE: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: ALTER: 修改已存在的数据表(例如增加/删除列)和索引。 CREATE: 建立新的数据库或数据表。 DELETE: 删除表的记录。 DROP: 删除数据表或数据库。 INDEX: 建立或删除索引。 INSERT: 增加表的记录。 SELECT: 显示/搜索表的记录。 UPDATE: 修改表中已存在的记录。 特别的权限: ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录–其它什么也不允许做。

标题*******MYSQL YUM安装

1、官方安装文档
http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

2、下载 Mysql yum包
http://dev.mysql.com/downloads/repo/yum/

下载到本地再上传到服务器,或者使用wget 直接下载

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
3、安转软件源
将platform-and-version-specific-package-name 替换为你下载的rpm名

sudo rpm -Uvh platform-and-version-specific-package-name.rpm
例如

rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

4、安装mysql服务端
yum install -y mysql-community-server
如果网络环境不是很好,执行完命令就可以去泡杯茶?或者荣耀杀一局(可以自己先下载好相应的rpm包或直接下载…bundle.tar压缩包)

5、首先启动mysql
service mysqld start(重启是restart,完全弄好MySQL后最好添加lower_case_table_names=1到[mysqld]下面一行然后重启MySQL,这是为了和windows兼容,还有就是在[mysql]下面一行加入default-character-set=utf8)
systemctl start mysqld.service(这个是上面步骤执行后自动输出的,我这边的全称是:Redirecting to /bin/systemctl start mysqld.service)
然后回到[…]#
6、接着检查mysql 的运行状态
service mysqld status
systemctl status mysqld.service(也是系统自动输出的,我这边全称是:Redirecting to /bin/systemctl status mysqld.service)
然后会输出一大段关于MySQL状态的信息:
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2017-07-30 08:24:29 CST; 26s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 58507 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 58426 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 58511 (mysqld)
CGroup: /system.slice/mysqld.service
└─58511 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/my…

7月 30 08:24:21 localhost.localdomain systemd[1]: Starting MySQL Server…
7月 30 08:24:29 localhost.localdomain systemd[1]: Started MySQL Server.(注意这句话,说明此时MySQL服务已经在运行)

7、修改临时密码
Mysql5.7默认安装之后root是有密码的。

7.1 获取MySQL的临时密码
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才可以查看临时密码

grep ‘temporary password’ /var/log/mysqld.log(如果之前安装过MySQL则这里可能会有多个密码,用最后一个,注意这个密码输入时是可以粘贴的)

这里的密码是YdsGaxOq>2n!

7.2 登陆并修改密码
使用默认的密码登陆

mysql -uroot -p(这是一个MySQL的以密码登录root用户的命令)
用该密码登录到服务端后,必须马上修改密码再执行一些数据库操作,不然会报如下错误:

mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
修改密码(注意,登录后的操作后面都最好要有;结尾)

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root123’;
如果密码设置太简单出现以下的提示

如何解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢? 这里直接提供解决方案文末有详细的说明

必须修改两个全局参数:
首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
再修改密码的长度

set global validate_password_length=1;
再次执行修改密码就可以了

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root123’;(ALTER等可以写成小写)
8、授权其他机器登陆
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘yourpassword’ WITH GRANT OPTION;

FLUSH PRIVILEGES;
9、关于密码设置的详细说明
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

标题#centos7彻底卸载mysql和通过yum安装mysql

查看是否有安装的mysql
rpm -qa | grep -i mysql // 查看命令1
1

yum list install mysql* // 查看命令2
1

卸载mysql安装包
yum remove mysql mysql-server mysql-libs compat-mysql51
yum remove mysql-community-release
rpm -e --nodeps mysql-community-libs-5.7.22-1.el7.x86_64
rpm -e –nodeps mysql57-community-release-el7-11.noarch
1
2
3
4
总之删到通过上面两种命令查不出来任何有关mysql的东西。

删除残留的mysql目录或文件:
查询mysql安装目录

whereis mysql
1

find / -name mysql
1

删除查询出的目录,我的这个是在没有删除安装包的情况下截的图,所以可能比较多。

rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/bin/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
1
2
3
4
5
6
总之删到通过上面两种命令查不出来任何有关mysql的东西。

继续删除
删除mysql 配置文件

rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret
1
2
删除mysql开机自启动服务
chkconfig --list | grep -i mysql
chkconfig --del mysqld // 服务名为你设置时候自己设置的名字
1
2
至此就卸载干净了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值