ubuntu下安装mysql并授予其他用户权限及修改mysql数据库的编码集

  • Post author:
  • Post category:mysql


在ubuntu下安装mysql时,发现是在root用户下,毕竟root用户的权限太大了,没有安全感.我们可以赋予当前用户一个权限,使当前用户可以使用mysql数据库.之前在装mysql时发现它的编码集不是utf-8,导致项目中出现乱码的现象,因此,我们可以修改编码集来避免乱码现象.话不多说,开始我们的操作.

安装mysql

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
安装过程中会让你输入root用户下的密码

授予其他用户权限

 1.开启mysql服务
    sudo service mysql start
 2.连接mysql
    mysql -u root -p
    输入密码
    出现mysql>说明mysql连接上了
 3.授予其他用户权限
     grant all privileges on *.* to 'yfx'@'localhost' identified by '123456' with grant option;
     说明:
     all:表示操作数据库的所有权限(增删改查)
     *.*:授予所有数据库下所有表的权限
     yfx:你的用户名(就是登录时把之前的root改为这个名字)
     localhost:本机(如果需要赋予其他IP权限,可以修改mysqld的配置文件,将绑定地址修改为0.0.0.0)
     123456:登录时输入的密码
     如果你不小心给错了权限,也可以撤销授权
        revoke all privileges on *.* from 'yfx'@'localhost';
4.测试有没有授权成功
    退出root登录mysql的状态
        mysql>exit
    使用你刚刚授予权限的用户名登录
    mysql -u yfx -p
    输入密码,如果出现mysql>,说明登录成功,否则,没有赋权给用户.  

修改字符编码集

1.先查看字符编码集 
    show variables like 'character%';
    character_set_database   | latin1 
    character_set_server     | latin1
    安装的时候这两项默认拉丁文,之后项目向数据库中插数据时发现无法插入,这时我们就需要修改编码   集
2.找到mysqld.cnf这个配置文件
    如果你使用apt-get安装的,可以在/etc/mysql/mysql.conf.d下找到
    cd /etc/mysql/mysql.conf.d
3.修改配置文件
    使用你熟悉的编辑器打开配置文件,这里我使用的是vim
    sudo vim mysqld.cnf
    找到[mysqld]的部分,如:
    [mysqld]
    user            = mysql
    pid-file        = /var/run/mysqld/mysqld.pid
    socket          = /var/run/mysqld/mysqld.sock
    port            = 3306
    ----------------------------------------------
    在[mysqld]部分加入
    character_set_server = utf8
    init_connect = 'SET NAMES utf8'
    然后保存退出
4.重启mysql服务 
    sudo service mysql restart
5.查看编码集是否修改
    mysql -u yfx -p
    输入密码
    show variables like 'character%';
    下面字段显示utf-8,说明修改成功
    character_set_database   | utf8        
    character_set_server     | utf8                  



版权声明:本文为yingfeng_yang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。