碰到无法启动的情况,首先查看/var/log/mysqld.log, 根据错误可以从stackoverflow上找到类似的解决方案
默认情况下mysql的目录: /var/lib/mysql 数据库文件存放目录 /usr/share/mysql/ 配置文件目录 /usr/bin 相关命令目录 /etc/init.d/mysql 启停相关脚本 重置mysql密码的通用方法: 1、停止mysql服务(sudo service mysqld stop),启动的时候带上--skip-grant-tables选项(sudo service mysqld start --skip-grant-tables). 不过在这种情况下不安全,所有的匿名用户都可以不使用密码就可以获取所有的权限,并且可以使得账户管理失效, 故一般情况下会联合--skip-networking参数使用,以防止通过远端客户端调用. 2、直接通过mysql连接到数据库,拥有所有权限 3、在mysql客户端通过flush privileges命令告诉服务器授权表使得账户管理有效 4、改变root用户的密码: * 5.7.5之后:alter user 'root'@'localhost' identified by 'NewPassword' * 5.7.5之前: set password for 'root'@'localhost' = password('NewPassword') 5、重启mysql服务,不带--skip-grant-tables和--skip-networking参数 查看目前server中对应的字符集命令: 在mysql中修改字符集(参考文件): [client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set = utf8 [mysqld] sort_buffer_size = 2M read_rnd_buffer_size = 8M port = 3306 character_set_server = utf8 #character_set_client = utf8 collation-server = utf8_general_ci datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] no-auto-rehash default-character-set = utf8