Mac上Mysql日常

作者: 笑楔信 | 来源:发表于2016-12-21 11:07 被阅读66次

    前言

    最近一直在项目中遇到编码问题,mysql上是中文,到了页面就成乱码,反之,页面是中文,mysql上的乱码,mac上就这样,改了tomcat的编码也没啥用,写此文章调理思路。

    添加mysql别名

    alias mysql='/usr/local/mysql/bin/mysql'

    alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

    mysql无法停止

    磁盘工具->急救->验证磁盘权限->修复磁盘权限

    有cleanMyMac,维护->修复磁盘权限->运行

    mysql启动与停止命令

    启动:sudo /usr/local/mysql/support-files/mysql.server start

    停止:sudo /usr/local/mysql/support-files/mysql.server stop

    重启:sudo /usr/local/mysql/support-files/mysql.server restart

    mysql卸载 摘自:http://blog.csdn.net/maxsky/article/details/40347505s

    sudo rm -rf /usr/local/mysql

    sudo rm -rf /usr/local/mysql*

    sudo rm -rf /Library/StartupItems/MySQLCOM

    sudo rm -rf /Library/PreferencePanes/My*

    sudo nano /etc/hostconfig     (复制前面部分回车,然后删掉这一行: MYSQLCOM=-YES-,control+O回车保存,control+X退出编辑界面)

    sudo rm -rf ~/Library/PreferencePanes/My*

    sudo rm -rf /Library/Receipts/mysql*

    sudo rm -rf /Library/Receipts/MySQL*

    sudo rm -rf /var/db/receipts/com.mysql.*

    重设root密码

    1.  停止 mysql server.  通常是在 '系统偏好设置' > MySQL > 'Stop MySQL Server'

    2.  打开终端,输入:

    sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

    3.  打开另一个新终端,输入:

    sudo /usr/local/mysql/bin/mysql -u root

    UPDATE mysql.user SET authentication_string=PASSWORD('root') WHERE User='root';

    FLUSH PRIVILEGES;

    \q

    4.  重启MySQL.

    密码过期

    1.先关闭MySQL服务;

    2.进入终端,输入指令:cd /usr/local/mysql/bin/,进入安装目录;

    3.输入指令:sudo su,切换到root用户;

    4.输入指令:./mysqld_safe --skip-grant-tables &,禁止mysql验证功能。此时mysql服务会自动重启了;

    5. 用工具(比如Sequal Pro)登录mySQL。配置的时候,只配用户名为root,密码不配。

    6. 登录进去以后,数据库选择mysql,修改user表下用户名为root的那条记录,将password_expired设为N。这样随机密码就有效了,可以用密码登录了。

    摘自http://blog.csdn.net/jxplus/article/details/49796711,20161221日实测有效

    mysql 进入mysql命令行

    mysql -h localhost -u root -p

    查看mysql编码

    mysql> show variables like '%char%';

    mysql设置中文字符集

    取得/usr/local/mysql/support-files/下的my-default.cnf,移动到/etc(起作用的目录),改为my.cnf(起作用的名字),添加如下内容(起作用的内容):

    [client]

    default-character-set=utf8

    [mysqld]

    character-set-server=utf8

    遇到的坑

    1、没有停止mysql服务即修改my.cnf~~出现再启动后的mysql无法关闭的问题

    2、在/usr/local/mysql/support-files/下修改my.cnf文件的问题~~应该放到/etc下my.cnf才起作用

    3、mysql默认字符集已经都utf-8了,navicat上的中文还是乱码,也可能navicate上不乱码,浏览器上中文乱码。---巨坑,navicat上新建连接的时候,弹出的配置中编码Encoding不要选utf-8,一定保持默认的auto,设了utf-8的话即使你的表是utf-8的也可能显示乱码。而你在选了utf-8的数据库中新建的表会显示中文,但设置了utf-8的tomcat、jsp等浏览器上也可能显示乱码。如果大家有空,帮我看看那个Encoding选项有什么含义没有~这个好像就是mac上有此问题吧--笑楔信

    相关文章

      网友评论

        本文标题:Mac上Mysql日常

        本文链接:https://www.haomeiwen.com/subject/sxrmmttx.html