MacOS系统安装MySQL
安装很简单关键是安装后的配置需要注意下。网上也有很多文章介绍这里把我安装过程中遇到的问题汇总下。
第一步到MySQL官网下载macos版本的然后安装提示一步一步安装。安装完成后在"系统偏好设置"中多了一个MySQL的图标打开发现可以设置MySQL服务是否开机启动以及打开关闭MySQL服务。
第二步MySQL安装后相关内容都在/usr/local/mysql目录下输入命令很不方便所以最好创建能在终端中直接使用的MySQL快捷命令。当然如果你不嫌麻烦愿意每次都输入完整路径命令可忽略此步
打开终端输入命令sudo vim /etc/bashrc
在bashrc中添加需要的快捷命令例如
alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop'
alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
编辑完后需要使用"wq!"命令强制保存内容。
第三步重启终端然后设置MySQL的root帐号输入命令mysqladmin -u root password 123456
PS:在执行上述命令时可能报错mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
第四步解决上一步中的问题。
思路为通过命令mysqld_safe跳过权限控制启动服务然后登陆后找到记录root用户的表修改其密码。具体操作如下
step 1:首先关闭mysql服务
step 2:打开终端输入命令sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking &
--skip-grant-tables不启动grant-tables(授权表),跳过权限控制。
--skip-networking 跳过TCP/IP协议只在本机访问(这个选项不是必须的。可以不用)
step 3:保留开启mysqld_safe的终端新建一个终端输入命令mysql此时我们就可以直接登录到MySQL服务了。
查询MySQL的用户信息输入SQL命令
select host,user,authentication_string from user;
我们只需要重置用户名为root的密码就可以输入SQL命令
update user set authentication_string=PASSWORD('123456') where user='root' and host='localhost';
新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表否则会出现拒绝访问还有一种方法就是重新启动mysql服务器来使新设置生效。输入命令flush privileges;
step 4:重启MySQL服务打开终端输入命令mysql -uroot -p 输入刚设置好的密码就能成功登录。
但是本人成功登录后show databases查看数据库报错You must reset your password using ALTER USER statement before executing....
第五步解决上一步中的问题。
step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;
完成以上三步退出再登使用新设置的密码就行了以上除了红色的自己修改成新密码外其他原样输入即可。
至此mysql安装完成。
MySQL的删除,依次执行以下命令:
1、sudo rm /usr/local/mysql
2、sudo rm -rf /usr/local/mysql*
3、sudo rm -rf /Library/StartupItems/MySQLCOM
4、sudo rm -rf /Library/PreferencePanes/My*
5、vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-)
6、rm -rf ~/Library/PreferencePanes/My*
7、sudo rm -rf /Library/Receipts/mysql*
8、sudo rm -rf /Library/Receipts/MySQL*
9、sudo rm -rf /var/db/receipts/com.mysql.*