共计 2096 个字符,预计需要花费 6 分钟才能阅读完成。
Ubuntu 16.04 下使用以下命令即可进行 MySQL 安装:
sudo apt-get install mysql-server
上述命令会安装以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此无需再安装 mysql-client 等。安装过程会提示设置 mysql root 用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了 mysql。
- 启动和关闭 mysql 服务器:
service mysql start
service mysql stop
- 确认是否启动成功:
sudo netstat -tap | grep mysql
- 进入 mysql shell 界面:
mysql -u root -p
- 解决利用 sqoop 导入 MySQL 中文乱码的问题
导致导入时中文乱码的原因是 character_set_server 默认设置是 latin1,如下图。
可以单个设置修改编码方式set character_set_server=utf8;
但是重启会失效,建议按以下方式修改编码方式。
(1)编辑配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
(2)在 [mysqld] 下添加一行character_set_server=utf8
。如下图
(3) 重启 MySQL 服务。service mysql restart
(4)登陆 MySQL,并查看 MySQL 目前设置的编码show variables like "char%";
这样就可以愉快的导入中文了!
下面回顾一下安装过程中我 遇到的问题 :
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)
,然后又是找了很多国内外资料,国内百度无法搜索出和这个错误完全相关的,还是老实 FQ 上谷歌,提出的方案是需要删除一些重复的配置文件,但是我连这个 /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
顺利安装成功!
配置远程访问
a、编辑配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 将 bind-address = 127.0.0.1 注释
b、修改用户权限
登录 MySQL:mysql -u root -p – 远程访问 mysql -h 192.168.0.201 -P 3306 -u root -p123 123 为 root 用户密码
用户权限:grant all on *.* to root@’%’ identified by ‘1’; – 添加一个用户名是 root 且密码是 1 的远程访问用户
刷新:flush privileges;
查看是否添加成功:select user,host,authentication_string from user; – 在 5.7 中用户密码是列 authentication_string
退出:quit
c、重启 MySQL 服务
/etc/init.d/mysql restart
3、完成且测试通过。
ps:
附上 vi 编辑要点:点击 i 进入编辑模式,在按 esc 键输入:wq!(保存并退出 vi 编辑模式)
总结:一定要卸载非常干净!
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143861.htm