MySql记录一(从安装开始)
2015-10-14 11:57
633 查看
最近因换到创业型公司,环境搭建都是重新搭起,我对这方面又比较感兴趣,所以像mongodb的主从备份和分布式都是我一点一点搭建起来的。现在记录一下MySql的搭建历程,mark一下。
MySql三种安装方式,rpm包形式、通用二进制形式和源码编译。以下介绍rpm包安装方式:
一、安装(系统:Red Hat 4.8.2-16;MySql版本:MySQL-5.6.26)
1、下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.21-1.el6.x86_64.rpm-bundle.tar
2、解压
tar -xf MySQL-5.6.26-1.el7.x86_64.rpm-bundle.tar
解压信息如下:
-rw-r--r-- 1 7155 wheel 20002848 Jul 16 01:16 MySQL-client-5.6.26-1.el7.x86_64.rpm 客户端组件
-rw-r--r-- 1 7155 wheel 3549168 Jul 16 01:16 MySQL-devel-5.6.26-1.el7.x86_64.rpm 针对于MySQL编译安装PHP等依赖于MySQL的组件包
-rw-r--r-- 1 7155 wheel 92351788 Jul 16 01:16 MySQL-embedded-5.6.26-1.el7.x86_64.rpm MySQL的嵌入式版本
-rw-r--r-- 1 7155 wheel 60689608 Jul 16 01:17 MySQL-server-5.6.26-1.el7.x86_64.rpm 共享库
-rw-r--r-- 1 7155 wheel 2105724 Jul 16 01:18 MySQL-shared-5.6.26-1.el7.x86_64.rpm 共享库
-rw-r--r-- 1 7155 wheel 2299656 Jul 16 01:18 MySQL-shared-compat-5.6.26-1.el7.x86_64.rpm 为了兼容老版本的共享库
-rw-r--r-- 1 7155 wheel 59441904 Jul 16 01:18 MySQL-test-5.6.26-1.el7.x86_64.rpm MySQL的测试组件(在线处理功能)
3、安装
1)、安装前检查MySql及相关rpm包,是否安装,如果有安装,则移除
[root@iZ941s5i8zfZ /]# rpm -qa | grep -i mysql
MySQL-devel-5.6.26-1.el7.x86_64
MySQL-server-5.6.26-1.el7.x86_64
MySQL-client-5.6.26-1.el7.x86_64
ps:上面是已经安装好Mysql
2)如果有冲突,则移除(我在安装过程中则遇到冲突)
[root@iZ941s5i8zfZ mysql]# yum -y remove mariadb-libs-1:5.5.40-1.el7_0*
3)、安装
[root@iZ941s5i8zfZ mysql]# rpm -ivh MySQL-server-5.6.26-1.el7.x86_64.rpm
[root@iZ941s5i8zfZ mysql]# rpm -ivh MySQL-devel-5.6.26-1.el7.x86_64.rpm
[root@iZ941s5i8zfZ mysql]# rpm -ivh MySQL-client-5.6.26-1.el7.x86_64.rpm
ps:rpm命令
-i 显示套件的相关信息
-v 报告每一步操作的情况
-h 使用符号#显示安装进度
4、修改配置和初始化
1)、修改配置文件位置
[root@iZ941s5i8zfZ mysql]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
2)、初始化MySql数据库
[root@iZ941s5i8zfZ mysql]# /usr/bin/mysql_install_db
3)、MySql启动
service mysql start
4)、查看root账号密码
[root@iZ941s5i8zfZ mysql]# cat /root/.mysql_secret
# The random password set for the root user at Mon Oct 12 16:05:44 2015 (local time): 9frjqJqWxFsYabcd
5)、登录MySql
[root@iZ941s5i8zfZ mysql]# mysql -uroot –p9frjqJqWxFsYabcd
#设置密码为123456
mysql> SET PASSWORD = PASSWORD('123456');
mysql> exit
#重新登录验证设置root密码是否成功
[root@iZ941s5i8zfZ mysql]# mysql -uroot –p123456
6)、允许远程登陆
mysql> use mysql;
mysql> select host,user,password from user;
+-----------------------+------+-------------------------------------------+
| host | user | password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost.localdomain | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
| 127.0.0.1 | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
| ::1 | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
+-----------------------+------+-------------------------------------------+
mysql> update user set password=password('123456') where user='root';
mysql> update user set host='%' where user='root' and host='localhost';
mysql> flush privileges;
mysql> exit
7)、设置开机自启动
[root@iZ941s5i8zfZ mysql]# chkconfig mysql on
[root@iZ941s5i8zfZ mysql]# chkconfig --list | grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
5、MySQL的默认安装位置
/var/lib/mysql/
#数据库目录
/usr/share/mysql #配置文件目录
/usr/bin #相关命令目录
/etc/init.d/mysql #启动脚本
二、MySql中charset和collation的设置
charset和collation有多个级别的设置:服务器级、数据库级、表级、列级和连接级
1、服务器级
查看设置:show global variables like 'character_set_server';和show global variables like 'collation_server';
eg:
mysql> show global variables like 'character_set_server';
+----------------------+--------+
| Variable_name | Value |
+----------------------+--------+
| character_set_server | latin1 |
+----------------------+--------+
1 row in set (0.00 sec)
mysql> show global variables like 'collation_server';
+------------------+-------------------+
| Variable_name | Value |
+------------------+-------------------+
| collation_server | latin1_swedish_ci |
+------------------+-------------------+
1 row in set (0.00 sec)
修改设置:在配置文件(/etc/mysql/my.cnf)里设置
[mysqld]
character_set_server=utf8
collation_server=utf8_general_ci
2、数据库级
查看设置:select * from information_schema.schemata where schema_name='test';
eg:
+--------------+-------------+----------------------------+------------------------+----------+
| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
+--------------+-------------+----------------------------+------------------------+----------+
| def | test | latin1 | latin1_swedish_ci | NULL |
+--------------+-------------+----------------------------+------------------------+----------+
1 row in set (0.00 sec)
设置:
1)、若没有显式设置,则自动使用服务器级的配置
2)、显式设置:在创建库时指定
create database dbUtf8 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
create database db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
3、表级
查看设置:show create table table_name;
eg:
mysql> show create table test_table;
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_table | CREATE TABLE `test_table` (
`field_a` varchar(12) NOT NULL,
`field_b` varchar(45) DEFAULT NULL,
PRIMARY KEY (`field_a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
设置:
1)、若没有显式设置,则自动使用数据库级的配置
2)、显式设置:在创建表时指定
create table tableName( id int ) default charset=utf8 default collate=utf8_bin;
4、列级
查看设置:
设置:
1)、若没有显式设置,则自动使用表级的配置
2)、显式设置:
CREATE TABLE Table1(column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci);
5、连接级别
查看设置:
1)、show variables like 'character_set_client';
#服务端使用这个编码来理解客户端发来的statements
eg:
mysql> show variables like 'character_set_client';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| character_set_client | utf8 |
+----------------------+-------+
1 row in set (0.00 sec)
2)、show variables like 'character_set_connection';
eg:
mysql> show variables like 'character_set_connection';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| character_set_connection | utf8 |
+--------------------------+-------+
1 row in set (0.00 sec)
3)、show variables like 'character_set_results';
#服务端使用这个编码回送结果集和错误信息
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
MySql三种安装方式,rpm包形式、通用二进制形式和源码编译。以下介绍rpm包安装方式:
一、安装(系统:Red Hat 4.8.2-16;MySql版本:MySQL-5.6.26)
1、下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.21-1.el6.x86_64.rpm-bundle.tar
2、解压
tar -xf MySQL-5.6.26-1.el7.x86_64.rpm-bundle.tar
解压信息如下:
-rw-r--r-- 1 7155 wheel 20002848 Jul 16 01:16 MySQL-client-5.6.26-1.el7.x86_64.rpm 客户端组件
-rw-r--r-- 1 7155 wheel 3549168 Jul 16 01:16 MySQL-devel-5.6.26-1.el7.x86_64.rpm 针对于MySQL编译安装PHP等依赖于MySQL的组件包
-rw-r--r-- 1 7155 wheel 92351788 Jul 16 01:16 MySQL-embedded-5.6.26-1.el7.x86_64.rpm MySQL的嵌入式版本
-rw-r--r-- 1 7155 wheel 60689608 Jul 16 01:17 MySQL-server-5.6.26-1.el7.x86_64.rpm 共享库
-rw-r--r-- 1 7155 wheel 2105724 Jul 16 01:18 MySQL-shared-5.6.26-1.el7.x86_64.rpm 共享库
-rw-r--r-- 1 7155 wheel 2299656 Jul 16 01:18 MySQL-shared-compat-5.6.26-1.el7.x86_64.rpm 为了兼容老版本的共享库
-rw-r--r-- 1 7155 wheel 59441904 Jul 16 01:18 MySQL-test-5.6.26-1.el7.x86_64.rpm MySQL的测试组件(在线处理功能)
3、安装
1)、安装前检查MySql及相关rpm包,是否安装,如果有安装,则移除
[root@iZ941s5i8zfZ /]# rpm -qa | grep -i mysql
MySQL-devel-5.6.26-1.el7.x86_64
MySQL-server-5.6.26-1.el7.x86_64
MySQL-client-5.6.26-1.el7.x86_64
ps:上面是已经安装好Mysql
2)如果有冲突,则移除(我在安装过程中则遇到冲突)
[root@iZ941s5i8zfZ mysql]# yum -y remove mariadb-libs-1:5.5.40-1.el7_0*
3)、安装
[root@iZ941s5i8zfZ mysql]# rpm -ivh MySQL-server-5.6.26-1.el7.x86_64.rpm
[root@iZ941s5i8zfZ mysql]# rpm -ivh MySQL-devel-5.6.26-1.el7.x86_64.rpm
[root@iZ941s5i8zfZ mysql]# rpm -ivh MySQL-client-5.6.26-1.el7.x86_64.rpm
ps:rpm命令
-i 显示套件的相关信息
-v 报告每一步操作的情况
-h 使用符号#显示安装进度
4、修改配置和初始化
1)、修改配置文件位置
[root@iZ941s5i8zfZ mysql]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
2)、初始化MySql数据库
[root@iZ941s5i8zfZ mysql]# /usr/bin/mysql_install_db
3)、MySql启动
service mysql start
4)、查看root账号密码
[root@iZ941s5i8zfZ mysql]# cat /root/.mysql_secret
# The random password set for the root user at Mon Oct 12 16:05:44 2015 (local time): 9frjqJqWxFsYabcd
5)、登录MySql
[root@iZ941s5i8zfZ mysql]# mysql -uroot –p9frjqJqWxFsYabcd
#设置密码为123456
mysql> SET PASSWORD = PASSWORD('123456');
mysql> exit
#重新登录验证设置root密码是否成功
[root@iZ941s5i8zfZ mysql]# mysql -uroot –p123456
6)、允许远程登陆
mysql> use mysql;
mysql> select host,user,password from user;
+-----------------------+------+-------------------------------------------+
| host | user | password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost.localdomain | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
| 127.0.0.1 | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
| ::1 | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
+-----------------------+------+-------------------------------------------+
mysql> update user set password=password('123456') where user='root';
mysql> update user set host='%' where user='root' and host='localhost';
mysql> flush privileges;
mysql> exit
7)、设置开机自启动
[root@iZ941s5i8zfZ mysql]# chkconfig mysql on
[root@iZ941s5i8zfZ mysql]# chkconfig --list | grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
5、MySQL的默认安装位置
/var/lib/mysql/
#数据库目录
/usr/share/mysql #配置文件目录
/usr/bin #相关命令目录
/etc/init.d/mysql #启动脚本
二、MySql中charset和collation的设置
charset和collation有多个级别的设置:服务器级、数据库级、表级、列级和连接级
1、服务器级
查看设置:show global variables like 'character_set_server';和show global variables like 'collation_server';
eg:
mysql> show global variables like 'character_set_server';
+----------------------+--------+
| Variable_name | Value |
+----------------------+--------+
| character_set_server | latin1 |
+----------------------+--------+
1 row in set (0.00 sec)
mysql> show global variables like 'collation_server';
+------------------+-------------------+
| Variable_name | Value |
+------------------+-------------------+
| collation_server | latin1_swedish_ci |
+------------------+-------------------+
1 row in set (0.00 sec)
修改设置:在配置文件(/etc/mysql/my.cnf)里设置
[mysqld]
character_set_server=utf8
collation_server=utf8_general_ci
2、数据库级
查看设置:select * from information_schema.schemata where schema_name='test';
eg:
+--------------+-------------+----------------------------+------------------------+----------+
| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
+--------------+-------------+----------------------------+------------------------+----------+
| def | test | latin1 | latin1_swedish_ci | NULL |
+--------------+-------------+----------------------------+------------------------+----------+
1 row in set (0.00 sec)
设置:
1)、若没有显式设置,则自动使用服务器级的配置
2)、显式设置:在创建库时指定
create database dbUtf8 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
create database db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
3、表级
查看设置:show create table table_name;
eg:
mysql> show create table test_table;
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_table | CREATE TABLE `test_table` (
`field_a` varchar(12) NOT NULL,
`field_b` varchar(45) DEFAULT NULL,
PRIMARY KEY (`field_a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
设置:
1)、若没有显式设置,则自动使用数据库级的配置
2)、显式设置:在创建表时指定
create table tableName( id int ) default charset=utf8 default collate=utf8_bin;
4、列级
查看设置:
设置:
1)、若没有显式设置,则自动使用表级的配置
2)、显式设置:
CREATE TABLE Table1(column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci);
5、连接级别
查看设置:
1)、show variables like 'character_set_client';
#服务端使用这个编码来理解客户端发来的statements
eg:
mysql> show variables like 'character_set_client';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| character_set_client | utf8 |
+----------------------+-------+
1 row in set (0.00 sec)
2)、show variables like 'character_set_connection';
eg:
mysql> show variables like 'character_set_connection';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| character_set_connection | utf8 |
+--------------------------+-------+
1 row in set (0.00 sec)
3)、show variables like 'character_set_results';
#服务端使用这个编码回送结果集和错误信息
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
相关文章推荐
- MySql:增删改查(CRUD)以及乱码编码解决(2)
- Mysql修改&设置密码
- mysql 按照 where id IN (42,25,26,27) 按照顺序查找id 的办法
- MySQL学习笔记11:运算符
- MySQL学习笔记10:修改数据
- MySQL乱码
- MySQL学习笔记9:连接查询
- MySql5.0命令全集
- MySQL学习笔记8:函数查询
- ofbiz 安装以及使用mysql数据库
- MySQL学习笔记7:基本查询
- MySQL学习笔记6:索引
- WAMP启动后MySQL不能启动的问题
- mysql练习语句
- Mysql5.6.22源代码安装
- excel导入mysql
- MySQL数据类型和常用字段属性总结
- MySQL安装未响应解决方法
- 基于MYSQL-GTID主从复制
- mysql数据脱敏处理方法