zoukankan      html  css  js  c++  java
  • MySQL_常见配置及命令

    参考 忧郁的加菲猫(http://www.cnblogs.com/whiteyun/archive/2011/04/13/2014913.html) + 自己总结

    登录

     mysql -u username -h host -p password -P port dbname


    目录
        1、数据库目录
      /var/lib/mysql/
        2、配置文件
        /usr/share/mysql(mysql.server命令及配置文件)
        3、相关命令
        /usr/bin(mysqladmin mysqldump等命令)
        4、启动脚本
        /etc/rc.d/init.d/ ( 启动脚本文件mysql的目录 )

    修改登录密码
        MySQL默认没有密码
        usr/bin/mysqladmin -u root password 'new-password'
        格式:mysqladmin -u用户名 -p旧密码 password 新密码


    启动与停止
        MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可
        启动:
            /etc/init.d/mysql start
        停止:
            /usr/bin/mysqladmin -u root -p shutdown
        重新启动:
            sudo /etc/init.d/mysql restart
        自动启动:
            察看mysql是否在自动启动列表中 /sbin/chkconfig --list
            把MySQL添加到你系统的启动服务组里面去 /sbin/chkconfig --add mysql
            把MySQL从启动服务组里面删除 /sbin/chkconfig --del mysql
        配置
           将/usr/share/mysql/my-medium.cnf复制到/etc/my.cnf,以后修改my.cnf文件来修改mysql的全局设置
           将my.cnf文件中的innodb_flush_log_at_trx_commit设成0来优化
           [mysqld]后添加添加lower_case_table_names设成1来不区分表名的大小写

    设置字符集
        MySQL的默认编码是Latin1,不支持中文,要支持需要把数据库的默认编码修改为gbk或者utf8。
        1、中止MySQL服务(bin/mysqladmin -u root shutdown)
     2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
     3、打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
     4、启动MySQL服务(bin/mysqld_safe &)
     查询字符集:show variables like '%set%';

     增加MySQL用户
        格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
            grant select,insert,update,delete on *.* to user_1@'%' Identified by '123';
            grant all on *.* to user_1@'localhost' Identified by '123';


     远程访问
      其一:
      GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'root';

      FLUSH PRIVILEGES; 

      (/etc/mysql/my.cnf   #bind-address = 127.0.0.1)
      允许root用户可以从任意机器上登入MySQL。

      其二:
      编辑 /etc/mysql/my.cnf
      >skip-networking => # skip-networking
      这样就可以允许其他机器访问MySQL了。
           grant all on *.* to 'root'@'ip' identified by 'password';

    查询数据库用户

      SELECT user,host,password FROM mysql.user;

          SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

    查看相关进程

      sudo netstat -tulpn | grep -i mysql
      sudo netstat -ap | grep mysqld

      备份与恢复
        备份
        进入到库目录,cd /val/lib/mysql
            mysqldump -uroot -proot complatform3000T > product3000T.sql
        恢复
           mysql -uroot -proot -h192.168.199.103 complatform0609 < backup0609.sql (恢复到指定ip数据库)
      mysql -uroot -proot -h192.168.199.105 complatform0816 < /home/upsmart/dumps/product3000T.sql

      mysql>use complatform; 

      mysql>source backupAddress.sql;

     启动时,跳过从节点设置

      skip-slave-start

    常用查询语句

    查询最后N条 

    select * from table order by id DESC/ASC limit N; (DESC降序/ASC升序)

    乱序查询N条

    SELECT * FROM User ORDER BY RAND() LIMIT N;

    select top N * from tableName order by newid();

     

    主从同步 

  • 相关阅读:
    撩课-Java每天5道面试题第8天
    撩课-Java每天10道面试题第7天
    撩课-Java每天10道面试题第6天
    撩课-Java每天10道面试题第5天
    JavaScript高级程序设计51.pdf
    JavaScript高级程序设计50.pdf
    JavaScript高级程序设计49.pdf
    JavaScript高级程序设计48.pdf
    JavaScript高级程序设计47.pdf
    JavaScript高级程序设计46.pdf
  • 原文地址:https://www.cnblogs.com/yay1101/p/7832078.html
Copyright © 2011-2022 走看看