一、二进制安装MySQL

  1. 下载:二进制包
  2. wget https://downloads.mysql.com/archives/get/file/mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
  3. 安装软件
  4. yum install -y gcc gcc-c++ glibc cmake autoconf
  5. 创建用户
  6. useradd mysql -s /sbin/nologin -M
  7. 解压
  8. tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
  9. 移动安装目录
  10. mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql-5.6.40
  11. cd /usr/local/
  12. 软链接
  13. ln -s mysql-5.6.40/ mysql
  14. 进入配置文件和脚本目录
  15. cd mysql/support-files
  16. 拷贝配置文件
  17. cp my-default.cnf /etc/my.cnf
  18. 拷贝启动脚本
  19. cp mysql.server /etc/init.d/mysqld
  20. 进入初始化目录
  21. cd /usr/local/mysql/scripts/
  22. 执行初始化
  23. ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  24. --user:指定用户
  25. --basedir:指定mysql的安装目录
  26. --datadir:指定mysql存放数据的目录(库,表,表空间,表结构)
  27. 添加环境变量
  28. echo 'PATH=/usr/local/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh
  29. 加载环境变量source /etc/profile
  30. 编辑CentOS7管理方式
  31. vim /usr/lib/systemd/system/mysqld.service
  32. [Unit]
  33. Description=MySQL Server
  34. Documentation=man:mysqld(8)
  35. Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
  36. After=network.target
  37. After=syslog.target
  38. [Install]
  39. WantedBy=multi-user.target
  40. [Service]
  41. User=mysql
  42. Group=mysql
  43. ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
  44. LimitNOFILE = 5000
  45. CentOS6管理方式:/etc/init.d/mysqld start
  46. 检查MySQL进程
  47. ps -ef|grep [m]ysql
  48. 检查MySQL端口
  49. netstat -lntup|grep 3306
  50. 添加密码
  51. mysqladmin -uroot password 'wyf123'

二、编译安装MySQL

  1. 安装依赖包:
  2. yum install -y ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf
  3. 创建用户
  4. useradd mysql -s /sbin/nologin -M
  5. 修改hosts
  6. vim /etc/hosts
  7. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  8. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  9. 172.16.1.52 db02
  10. 解压MySQL源码包
  11. tar xf mysql-5.6.42.tar.gz
  12. 进入MySQL目录
  13. cd mysql-5.6.42
  14. 生成
  15. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0
  16. #程序存放位置
  17. cmake . -DCMAKE_INSTALL_PREFIX=
  18. #数据存放位置
  19. -DMYSQL_DATADIR=
  20. #socket文件存放位置
  21. -DMYSQL_UNIX_ADDR=
  22. #使用utf8字符集
  23. -DDEFAULT_CHARSET=utf8
  24. #校验规则
  25. -DDEFAULT_COLLATION=utf8_general_ci
  26. #使用其他额外的字符集
  27. -DWITH_EXTRA_CHARSETS=all
  28. #支持的存储引擎
  29. -DWITH_INNOBASE_STORAGE_ENGINE=1
  30. -DWITH_FEDERATED_STORAGE_ENGINE=1
  31. -DWITH_BLACKHOLE_STORAGE_ENGINE=1
  32. #禁用的存储引擎
  33. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
  34. #启用zlib库支持(zib、gzib相关)
  35. -DWITH_ZLIB=bundled
  36. #启用SSL库支持(安全套接层)
  37. -DWITH_SSL=bundled
  38. #启用本地数据导入支持
  39. -DENABLED_LOCAL_INFILE=1
  40. #编译嵌入式服务器支持
  41. -DWITH_EMBEDDED_SERVER=1
  42. # mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
  43. -DENABLE_DOWNLOADS=1
  44. #禁用debug(默认为禁用)
  45. -DWITH_DEBUG=0
  46. 编译
  47. make #make -j4,使用4个cpu。加入-j选项,这样会最大程度利用CPU资源
  48. 安装
  49. make install
  50. 软链接
  51. ln -s mysql-5.6.40/ mysql
  52. 授权
  53. chown -R mysql.mysql /usr/local/mysql
  54. 进入配置文件和脚本目录
  55. cd /usr/local/mysql/support-files
  56. 拷贝配置文件
  57. cp my-default.cnf /etc/my.cnf
  58. 拷贝启动脚本
  59. cp mysql.server /etc/init.d/mysqld
  60. 进入初始化目录
  61. cd /usr/local/mysql/scripts/
  62. 执行初始化
  63. ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  64. --user:指定用户
  65. --basedir:指定mysql的安装目录
  66. --datadir:指定mysql存放数据的目录(库,表,表空间,表结构)
  67. 添加环境变量
  68. echo 'PATH=/usr/local/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh
  69. 加载环境变量source /etc/profile
  70. 编辑CentOS7管理方式
  71. vim /usr/lib/systemd/system/mysqld.service
  72. [Unit]
  73. Description=MySQL Server
  74. Documentation=man:mysqld(8)
  75. Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
  76. After=network.target
  77. After=syslog.target
  78. [Install]
  79. WantedBy=multi-user.target
  80. [Service]
  81. User=mysql
  82. Group=mysql
  83. ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
  84. LimitNOFILE = 5000
  85. CentOS6管理方式:/etc/init.d/mysqld start
  86. 检查MySQL进程
  87. ps -ef|grep [m]ysql
  88. 检查MySQL端口
  89. netstat -lntup|grep 3306
  90. 添加密码
  91. mysqladmin -uroot password 'wyf123'

三、MySQL基本操作

查看库
mysql> show databases;
#删库
mysql> drop database test;
#使用库
mysql> use mysql
#查看表
mysql> show tables;
#查看当前所在库
mysql> select database();
#查看mysql用户
mysql> select user,host from user;
mysql> select user,host,password from user;
#删除用户
mysql> select user,host from user;
mysql> drop user ‘’@’db02’;
mysql> drop user root@db02;
mysql> drop user root@’::1’;
mysql> drop user root@’127.0.0.1’;