mysql设置更改root密码 连接mysql mysql常用命令

1,mysql设置更改root密码。

  首先启动mysql。/etc/init.d/mysqld  start。

  首次进入数据库不需要密码: /usr/local/mysql/bin/mysql -uroot。这里使用的是绝对路径。退出时输入quit或者exit即可。

  更改环境变量PATH,增加mysql的绝对路径。export PATH=$PATH:/usr/local/mysql/bin/。永久生效则需要把这条命令放到/etc/profile下面。接着source /etc/profile。

   这样就可以使用mysql -uroot而不需要使用绝对路径。

   mysqladmin -uroot password '123456'  给mysql的root账户设置密码123456。

   mysql -uroot -p'12345'   使用密码登录。-u指定用户 -p指定密码,最好加单引号以防输入特殊字符出现问题。-p后面也可以不用加密码。

    update user set password=password('root') where user='root'; //更改mysql中的root账户密码

 2,连接mysql数据库。

     使用mysql -u root -p 只可以连接到本地的数据库localhost。

     mysql -uroot -p -h192.168.121.128 -P3306 连接到指定IP主机上的mysql。其中后边的 -P(大写) 用来指定远程主机mysql的绑定端口,默认都是3306, -h 用来指定远程主机的IP。

扫描二维码关注公众号,回复: 2138310 查看本文章

     mysql -uroot -p123456 -S/tmp/mysql.sock  指定sock连接。
     mysql -uroot -p123456 -e "show databases"

3,mysql常用命令。

    (1)查询当前的库。mysql> show databases;     //mysql的命令,结尾处需要加一个分号。

    (2)查询某个库里的表。        

           首先需要切换到某个库里去: mysql> use mysql; Database changed。

           列出表:mysql> show tables;

    (3)查看某个表的全部字段。mysql> desc slow_log; 查看建表语句 mysql> show create table slow_log\G;

    (4)查看当前是哪个用户:mysql> select user();

    (5)查看当前所使用数据库:mysql> select database();

    (6)创建一个新库:mysql> create database db1; Query OK, 1 row affected (0.05 sec)

    (7)创建一个新表:

        mysql> use db1;
        Database changed
        mysql> create table t1 (`id` int(4), `name` char(40));

        Query OK, 0 rows affected (0.02 sec)

    (8)查看当前数据库版本:

        mysql> select version();

     (9)查看当前mysql状态:

        mysql> show status;    

     (10)查看mysql的参数:

        mysql> show variables;

       (11) 修改mysql的参数:在mysql命令行,“%” 类似于shell下的 *, 表示万能匹配。使用 “set global” 可以临时修改 某些参数,但是重启mysqld服务后还会变为原来的,所以要想恒久生效,需要在配置文件 my.cnf 中定义。

            mysql> show variables like 'max_connect%';

            mysql> set global max_connect_errors = 1000;
           Query OK, 0 rows affected (0.01 sec)

           mysql> show variables like 'max_connect_errors';

       (12)查看当前mysql服务器的队列:使用它可以查看当前mysql在干什么,可以发现是否有锁表。

            mysql> show processlist;show full processlist;

        (13)创建一个普通用户并授权:

          mysql> grant all on *.* to user1 identified by '123456';

          Query OK, 0 rows affected (0.01 sec)

         all 表示所有的权限(读、写、查询、删除等等操作), *.* 前面的 * 表示所有的数据库,后面的 * 表示所有的表,identified by 后面跟密码,用单引号括起来。这里的user1指的是localhost上的user1,如果是给网络上的其他机器上的某个用户授权则这样:

        mysql> grant all on db1.* to 'user2'@'10.0.2.100' identified by '111222';

        Query OK, 0 rows affected (0.01 sec)

        用户和主机的IP之间有一个@,另外主机IP那里可以用%替代,表示所有主机,例如:

        mysql> grant all on db1.* to 'user3'@'%' identified by '231222';
       Query OK, 0 rows affected (0.00 sec)

        all可以替换为SELECT,UPDATE,INSERT。

        mysql> show grants;

猜你喜欢

转载自blog.csdn.net/wanli245/article/details/80740888
今日推荐