博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu18.04(linux)安装MySQL
阅读量:5091 次
发布时间:2019-06-13

本文共 2981 字,大约阅读时间需要 9 分钟。

安装

mysql

sudo apt-get --purge remove mysql-server mysql-common mysql-clientsudo apt-get install mysql-server mysql-common mysql-clientmysqladmin -u root password your-new-passwordsudo /etc/init.d/mysql restart

mariadb

apt-get install mariadb-server

字符集修改utf8

如果装的mariadb, 默认字符集已经是utf8了。mysql则不是

mysql> show variables like 'char%';+--------------------------+----------------------------+| Variable_name            | Value                      |+--------------------------+----------------------------+| character_set_client     | utf8                       || character_set_connection | utf8                       || character_set_database   | latin1                     || character_set_filesystem | binary                     || character_set_results    | utf8                       || character_set_server     | latin1                     || character_set_system     | utf8                       || character_sets_dir       | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+
mysql> show variables like 'collation%';+----------------------+-------------------+| Variable_name        | Value             |+----------------------+-------------------+| collation_connection | utf8_general_ci   || collation_database   | latin1_swedish_ci || collation_server     | latin1_swedish_ci |+----------------------+-------------------+

修改字符集:

sudo vim /etc/mysql/my.cnf

添加以下内容

[mysqld]collation-server = utf8_unicode_ciinit-connect='SET NAMES utf8'character-set-server = utf8

重启:

service mysql restart

登录权限问题

Ubuntu18.04 安装mysql或者mariadb之后,发现普通用户和远程都没有权限连接。

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)

修改了密码也不对。然后sudo mysql -u root即可登录。这显然不是我们想要的。

解决方案

删除root,重新创建用户。

首先,登录

sudo mysql -u root

然后查看当前用户

SELECT User,Host FROM mysql.user;+------------------+-----------+| User             | Host      |+------------------+-----------+| admin            | localhost || debian-sys-maint | localhost || magento_user     | localhost || mysql.sys        | localhost || root             | localhost |

删除root账号

mysql> DROP USER 'root'@'localhost';Query OK, 0 rows affected (0,00 sec)

重新创建root:

mysql> CREATE USER 'root'@'%' IDENTIFIED BY '123456';Query OK, 0 rows affected (0,00 sec)

授权

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;Query OK, 0 rows affected (0,00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0,01 sec)

关于重置密码

host为%时允许远程登录

SET PASSWORD FOR root@'localhost' = PASSWORD('password');

or

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

or

USE mysqlUPDATE user SET Password = PASSWORD('newpwd')WHERE Host = 'localhost' AND User = 'root';

允许任何地方登录

USE mysqlUPDATE user SET Password = PASSWORD('newpwd')WHERE Host = '%' AND User = 'root';

参考

  • https://askubuntu.com/questions/766334/cant-login-as-mysql-user-root-from-normal-user-account-in-ubuntu-16-04
  • https://help.ubuntu.com/community/MysqlPasswordReset

转载于:https://www.cnblogs.com/woshimrf/p/ubuntu-install-mysql.html

你可能感兴趣的文章
Java跟Javac,package与import
查看>>
day-12 python实现简单线性回归和多元线性回归算法
查看>>
Json格式的字符串转换为正常显示的日期格式
查看>>
[转]使用 Razor 进行递归操作
查看>>
[转]Android xxx is not translated in yyy, zzz 的解决方法
查看>>
docker入门
查看>>
Android系统--输入系统(十一)Reader线程_简单处理
查看>>
监督学习模型分类 生成模型vs判别模型 概率模型vs非概率模型 参数模型vs非参数模型...
查看>>
Mobiscroll脚本破解,去除Trial和注册时间限制【转】
查看>>
实验五 Java网络编程及安全
查看>>
32位与64位 兼容编程
查看>>
iframe父子页面通信
查看>>
map基本用法
查看>>
Redis快速入门
查看>>
BootStrap---2.表格和按钮
查看>>
Linear Algebra lecture 2 note
查看>>
CRC计算模型
查看>>
Ajax之404,200等查询
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>