美文网首页
linux上mysql的安装和编码配置

linux上mysql的安装和编码配置

作者: 菜菜少吃菜 | 来源:发表于2018-08-18 14:01 被阅读0次

    每次在新机器上配数据库总会遇到编码问题,特此记录一下阿里云服务器上安装mysql及配置编码的过程。

    mysql安装

    • 系统:centos7

    • mysql:5.6.41
      centos7把mysql从默认软件列表中移除了,通过官网下载

    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum -y install mysql mysql-server mysql-devel
    

    安装文件说明:

    mysql: 客户端
    mysql-server: 服务端
    mysql-devel: 开发用到的库和文件

    接下来要开启服务并进入mysql客户端

    service mysqld start
    mysql -u root -p
    
    image.png

    mysql编码

    通过SHOW VARIABLES LIKE 'char%';查看编码

    image.png
    character_set_client: 客户端查询使用的编码
    character_set_connection: 数据库处理时使用的编码
    character_set_database: 当前数据库使用的编码
    character_set_results: 查询结果返回使用的编码
    character_set_server: 服务端默认使用的编码
    character_set_system: 元数据使用的编码,只读

    可以看到当前server使用的是latin编码

    修改server编码

    修改/etc/my.cnf文件,可通过find / -iname '.cnf' -print*查找

    [mysqld]
    character-set-server=utf8
    

    添加/etc/my.cnf.d/mysql.cnf文件(也可尝试修改my.cnf文件)

    [mysql]
    default-character-set=utf8
    

    service mysqld restart重启mysql服务
    再查看编码

    image.png

    mysql常用命令

    mysql数据库使用总结
    本文主要记录一些mysql日常使用的命令,供以后查询。
    1.更改root密码
    mysqladmin -uroot password 'yourpassword'
    2.远程登陆mysql服务器
    mysql -uroot -p -h192.168.137.10 -P3306
    3.查询数据库
    show databases;
    4.进入某个数据库
    use databasename;
    5.列出数据库中的表
    show tables;
    6.查看某个表全部字段
    desc slow_log;
    show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)
    7.查看当前用户
    select user();
    8.查看当前所在数据库
    select database();
    9.创建新数据库(可以指定字符集)
    create database db1 charset utf8;
    10.创建新表
    create table t1 (id int(4), name char(40));
    11.查看数据库版本
    select version();
    12.查看数据库状态
    show status; 当前会话状态
    show global status; 全局数据库状态
    show slave status\G; 查看主从数据库状态信息
    13.查询数据库参数
    show variables;
    14.修改数据库参数
    show variables like 'max_connect%';
    set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改)
    15.查看当前数据库队列
    show processlist;
    16.创建普通用户并授权给某个数据库
    grant all on databasename.* to 'user1'@'localhost' identified by '123456';
    17.查询表数据
    select * from mysql.db; //查询该表中的所有字段
    select count() from mysql.user; //count()表示表中有多少行
    select db,user from mysql.db; //查询表中的多个字段
    select * from mysql.db where host like '10.0.%';在查询语句中可以使用万能匹配 “%”
    18.插入一行数据
    insert into db1.t1 values (1, 'abc');
    19.更改表的某一行数据
    update db1.t1 set name='aaa' where id=1;
    20.清空表数据
    truncate table db1.t1;
    21.删除表
    drop table db1.t1;
    22.清空数据库中的所有表(数据库名是eab12)
    mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12
    23.删除数据库
    drop database db1;
    24.数据库备份
    mysqldump -uroot -p'yourpassword' mysql >/tmp/mysql.sql
    25.数据库恢复
    mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql
    26.新建普通用户
    CREATE USER name IDENTIFIED BY 'ssapdrow';
    27.更改普通用户密码
    SET PASSWORD FOR name=PASSWORD('fdddfd');
    28.查看name用户权限
    SHOW GRANTS FOR name;
    29.脚本中执行mysql命令
    mysql -uuser -ppasswd -e"show databases"
    echo "show databases"|mysql -uuser -ppassword
    以下是执行大量mysql语句采用的方式
    mysql -uuser -hhostname -ppasswd <<EOF
    mysql语句
    EOF

    相关文章

      网友评论

          本文标题:linux上mysql的安装和编码配置

          本文链接:https://www.haomeiwen.com/subject/lhlfiftx.html