• ubuntu安装mysql


    sudo apt-get update #更新软件源
    sudo apt-get install mysql-server #安装mysql
    sudo apt install mysql-client -y #安装mysql客户端
    sudo apt purge mysql-*
    apt-get purge 与 apt-get remove是不同的,简单来说:
    purge可以将包以及软件的配置文件全部删除
    remove仅可以删除包,但不会删除配置文件

    service mysql start
    service mysql stop
    mysql -u root -p #登录


    我们需要先找到默认的用户密码
    sudo cat /etc/mysql/debian.cnf
    mysql -udebian-sys-maint -p【密码】
    设置root密码
    mysql>use mysql;
    mysql>flush privileges;
    mysql>ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘1’;


    确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:
    sudo netstat -tap | grep mysql


    解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文)
    导致导入时中文乱码的原因是character_set_server默认设置是latin1,如下图。
    未修改server 编码
    可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效,建议按以下方式修改编码方式。
    (1)编辑配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    (2)在[mysqld]下添加一行character_set_server=utf8。如下图
    修改server编码
    (3)重启MySQL服务。service mysql restart
    (4)登陆MySQL,并查看MySQL目前设置的编码。show variables like “char%”;
    server编码修改成功


    二、MySQL常用操作
    注意:MySQL中每个命令后都要以英文分号;结尾。
    1、显示数据库
    mysql> show databases;
    MySql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

    2、显示数据库中的表
    mysql> use mysql; (打开库,对每个库进行操作就要打开此库)
    Database changed
    mysql> show tables;

    3、显示数据表的结构:
    describe 表名;

    4、显示表中的记录:
    select * from 表名;
    例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
    select * from user;

    5、建库:
    create database 库名;
    例如:创建一个名字位aaa的库
    mysql> create database aaa;

    6、建表:
    use 库名;
    create table 表名 (字段设定列表);
    例如:在刚创建的aaa库中建立表person,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
    use aaa;
    mysql> create table person (id int(3) auto_increment not null primary key, xm varchar(10),xb varchar(2),csny date);
    可以用describe命令察看刚建立的表结构。
    mysql> describe person;
    describe-person

    7、增加记录
    例如:增加几条相关纪录。
    mysql>insert into person values(null,‘张三’,‘男’,‘1997-01-02’);
    mysql>insert into person values(null,‘李四’,‘女’,‘1996-12-02’);
    注意,字段的值(‘张三’,‘男’,‘1997-01-02’)是使用两个英文的单撇号包围起来,后面也是如此。
    因为在创建表时设置了id自增,因此无需插入id字段,用null代替即可。
    可用select命令来验证结果。
    mysql> select * from person;
    select-from-person

    8、修改纪录
    例如:将张三的出生年月改为1971-01-10
    mysql> update person set csny=‘1971-01-10’ where xm=‘张三’;

    9、删除纪录
    例如:删除张三的纪录。
    mysql> delete from person where xm=‘张三’;

    10、删库和删表
    drop database 库名;
    drop table 表名;

    11、查看mysql版本
    在mysql5.0中命令如下:
    show variables like ‘version’;
    或者:select version();



    报错:
    问题:登录root用户显示权限错误,

    ubuntu@ubuntu:~$ mysql -u root -p
    Enter password:
    ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’

    解决:
    1、通过sudo进入mysql,ubuntu默认sudo不需要密码就可以进
    ubuntu@ubuntu:~$ sudo mysql
    2、进入mysql库
    mysql> use mysql;
    3、改密码
    mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;


    远程访问:

    use mysql; #切换到mysql
    select user,host from user; #查看user列表

    查看用户列表
    select user, host,authentication_string, plugin from user;
    #test1用户密码为test1
    #可先通过sql语句查看test1串的哈希值的,然后再设置密码为这个哈希值
    SELECT password(‘test1’);
    CREATE USER ‘xty’@‘192.168.0.103’ IDENTIFIED BY ‘1’; #创建用户

    use mysql; 进入数据库
    1.直接改表
    mysql> UPDATE user SET Host = ‘%’ WHERE User = ‘root’ LIMIT 1;
    update user set host = ‘%’ where user = ‘xty’;
    该方法就是直接修改更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为"%"

    2.授权账户
    GRANT ALL PRIVILEGES ON . TO ‘xty’@‘192.168.0.103’ IDENTIFIED BY ‘1’ WITH GRANT OPTION;

    GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
    赋予该用户所有数据库所有表(*.*表示所有表),%表示所有IP地址
    –允许指定主机(IP地址)访问权限:具体ip 192.168.0.103

    mysql> flush privileges;#刷新
    mysql> exit;

    进入/etc/mysql/mysql.conf.d/mysqld.cnf文件把bind-address = 127.0.0.1注释,即在bind-address = 127.0.0.1前面加#
    ubuntu@ubuntu:~/Desktop$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    在bind-address = 127.0.0.1前面加#

    重启
    ubuntu@ubuntu:~/Desktop$ service mysql restart

  • 相关阅读:
    SQL:常用的 SQL 命令
    【pytest】html报告修改和汉化
    [附源码]Python计算机毕业设计Excel操作题自动评分系统
    每日一题:对比Vector、ArrayList、LinkedList有何区别❓
    在SQL中:如何使用命令创建、修改、添加数据库
    [spring-04]Bean后处理器
    Oracle 的同义词(Synonym) 作用
    python自学
    Python函数绘图与高等代数互融实例(三):设置X|Y轴文本标签|网格线
    IO 原理
  • 原文地址:https://blog.csdn.net/secret125/article/details/136383154