tangbinde 发表于 2018-10-1 15:16:17

ubuntu16.0.4安装mysql

  ubuntu16.0.4安装mysql
  apt-get update;
  apt-get upgrade;
  apt-get install mysql-server;
  这个版本目前默认安装mysql5.7
  修改字符集:
  vim /etc/my.ini
  default-character-set=utf8
  lower_case_table_names = 0
  其中 0:区分大小写,1:不区分大小写
  启动:
  select user,host from mysql.user;
  删除匿名用户:
  delete from mysql.user where user=’’;
  刷新权限:
  flush privileges;
  开放3306端口:
  iptabels -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
  也可以使用:
  ufw allow 3306
  ufw allow mysql ;
  建立用户:
  insert into mysql.user(Host,User,Password) values(“localhost”,”yk”,password(”19851014”));
  create database mmal default character set utf8 collate utf8_general_ci;
  查看权限:
  select * from mysql.user \G;
  赋予权限:

  grant all privileges on mall.* to yk@’%’>  set password for root@localhost=password(‘root’);
  set password for root@127.0.0.1=password(‘root’);
  问题一:安装过程中遇到的问题。
  每次在linux安装成功软件,都习惯把软件卸载了,在重新安装,结果就出现了下面的问题,方法是网上找的,网址忘了,给原创道个歉。
  如果安装不成功:
  1、安装到Renaming removed key_buffer and myisam-recover options (if present)就卡住了,而且ctrl+C 也无法退出,最后我关闭了终端强制退出了,但是我发现运用sudo netstat -tap | grep mysql 居然显示是启动成功的,可是进入shell界面就会出现问题,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)网上找了一堆方法,都无法解决。
  无奈考虑卸载重装:
  sudo apt-get autoremove mysql* --purge
  sudo apt-get remove apparmor   //这个apparmor是在装mysql-server时装上的,和安全有关
  2、重启电脑后(很多时候重启是法宝),再次利用命令apt-get安装mysql-server,运行到Renaming removed key_buffer and myisam-recover options (if present)仍然卡住了,我再次中止了终端,发现启动也是成功的,尝试进入shell界面,出现另一种新的错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2),然后又是找了很多国内外资料,国内百度无法搜索出和这个错误完全相关的,还是老实×××上谷歌,提出的方案是需要删除一些重复的配置文件,但是我连这个/var/run/mysqld/mysqld.sock没有,因此仍然无法解决。
  再次卸载。考虑一定要卸载非常彻底。
  sudo apt-get autoremove mysql* --purge
  sudo apt-get remove apparmor
  sudo rm /var/lib/mysql/ -R//非常重要
  sudo rm /etc/mysql/ -R   //非常重要
  3、重启电脑,再次利用命令sudo apt-get install mysql-server 顺利安装成功!
  问题二:远程登陆mysql服务登陆不不了:
  检查服务启动没有:
  ps aux | grep mysql
  检查端口监听:
  netstat -antp | grep 3306
  如果监听显示只有127.0.0.1:3306:首先修改配置文件,mysql5.7配置文件在
  /etc/mysql/mysql.conf.d/my.cnf
  将bind-address=127.0.0.1修改为bind-address=0.0.0.0
  如果还是远程访问不了:查看给相应的用户赋予远程访问或指定ip访问的权限没有。
  select host,user from mysql.user;
  赋予相应用户权限:
  update user set host=’%’ where user = ‘root’;
  ‘%’是指任何ip地址都可以访问。
  flush privileges;

页: [1]
查看完整版本: ubuntu16.0.4安装mysql