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();

 

主从同步 

原文地址:https://www.cnblogs.com/yay1101/p/7832078.html