mysql相关

1、源码安装MySQL,5.5以后用cmake编译安装。

[root@localhost ~]# groupadd -r mysql
[root@localhost ~]# useradd -r -g mysql -s /sbin/nologin mysql
[root@localhost ~]# mkdir -p /mydata/data
[root@localhost ~]# chown -R mysql.mysql /mydata/data/
[root@localhost ~]# tar -zxvf cmake-3.0.0.tar.gz
[root@localhost ~]# cd cmake-3.0.0
[root@localhost cmake-3.0.0]# ./configure
[root@localhost cmake-3.0.0]# make&&make install
[root@localhost ~]# tar -zxvf mysql-5.5.38.tar.gz 
[root@localhost ~]# cd mysql-5.5.38
[root@localhost mysql-5.5.38]# cmake . -LH  #当前目录编译选项帮助
[root@localhost mysql-5.5.38]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@localhost mysql-5.5.38]# make
[root@localhost mysql-5.5.38]# make install
[root@localhost ~]# chown -R :mysql /usr/local/mysql/
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
[root@localhost mysql]# chmod +x /etc/init.d/mysqld 
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --level 35 mysqld on
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
thread_concurrency = 4   #线程并发量
datadir = /mydata/data   #数据目录
[root@localhost mysql]# vim /etc/man.config  #Manual文件链接
MANPATH /usr/local/mysql/man
[root@localhost mysql]# vim /etc/profile.d/mysql.sh #Mysql执行程序链接
export PATH=$PATH:/usr/local/mysql/bin
[root@localhost mysql]# vim /etc/ld.so.conf.d/mysql.conf  #库文件链接
/usr/local/mysql/lib
[root@localhost ~]# ldconfig -v  #重新读取库文件
[root@localhost ~]# ln -sv /usr/local/mysql/include /usr/include/mysql #头文件链接
[root@localhost ~]# service mysqld start

2、登录MySQL,初始管理员账号root及空密码,首次登陆mysql命令即可

[root@localhost ~]# mysql
mysql> set password for [email protected] = password ('123456');
mysql> update mysql.user set password = password('123456') where user = 'root' and host = 'localhost';
mysql> flush privileges;
[root@localhost ~]# mysqladmin -u root -h localhost password 123456 #帐号设置密码三种方式
[root@localhost ~]# mysql -u root -p  #登陆MySQL
-p            #密码选项
-P            #指定端口
--protocol    #指定连接协议
-h            #指定连接主机
-D            #指定默认连接数据库
[root@localhost mysql]# mysqladmin -u root -p shutdown  #关闭MySQL
Enter password:

3、目录介绍。

   数据库目录:/var/lib/mysql/

   配置文件:/usr/share/mysql

   相关命令:/usr/bin

   启动脚本:/etc/rc.d/init.d/

4、更改MySQL数据库目录

[root@localhost ~]# mv /var/lib/mysql / #把目录放到根下
[root@localhost ~]# vim /etc/my.cnf  #修改配置文件,没有此文件就cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/mysql
socket=/mysql/mysql.sock
user=mysql
[mysql.server]
user=mysql
basedir=/mysql
[client]
socket=/mysql/mysql.sock

5、常用操作

mysql> show databases; #初始库mysql和test,mysql库非常重要,有mysql的系统信息
mysql> use mysql;  #打开库,对每个库进行操作就要打开此库
mysql> show tables;  #显示数据库中的表
mysql> describe host;  #显示数据表的结构
mysql> select* from user; #显示表的记录
mysql> create database liang;  #创建数据库
mysql> show engines; #列出存储引擎
mysql> drop user ''@localhost.localdomain;  #删除匿名用户
mysql> drop user 'root'@'::1';
mysql> show grants for 'repluser'@'172.16.%.%'; #查看用户授权
mysql> show binlog events in 'master-bin.000003';  #查看二进制日志事务
mysql> update user set password=PASSWORD('your_new_password') where User='root'; #改密码
mysql> CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass'; #建用户
mysql> grant all on *.* to icescrum@'localhost'; #授权
mysql> show grants for icescrum@'192.168.%.%'; #查看授权
mysql> revoke all on *.* from icescrum@'192.168.%.%' #撤销授权

6、备份还原。

mysql> flush tables with read lock; #以只读方式锁定表,禁止写入,可用于温备份
[root@localhost ~]# mysqldump -uroot -p DBName > /tmp/db.sql #执行逻辑温备份数据库
[root@localhost ~]# mysqldump -uroot -p --all-databases --events > /tmp/all-databases.sql  #备份所有数据库及事件
[root@localhost ~]# mysqldump -uroot -p DBName Table > /tmp/table.sql #备份表
mysql> unlock tables;  #解锁表
mysql> create database DBName;  #执行还原前需创建数据库
[root@localhost ~]# mysql -uroot -p DBName < /tmp/db.sql #还原到指定数据库


你可能感兴趣的:(mysql)