首页 linux安装mysql

linux安装mysql

举报
开通vip

linux安装mysqllinux安装mysql MySQL安装 一、环境介绍: 1、服务器: 1. [root@localhost Desktop]# head -n 1 /etc/issue 2. CentOS release 6.5 (Final) 2、mysql版本 1. mysql-5.6.26.tar.gz 二、准备工作 1、安装编译源码所需的工具和库 1. yum install gcc gcc-c++ ncurses-devel perl 2、安装cmake,从下载源码并编译安装 1. wget -...

linux安装mysql
linux安装mysql MySQL安装 一、环境介绍: 1、服务器: 1. [root@localhost Desktop]# head -n 1 /etc/issue 2. CentOS release 6.5 (Final) 2、mysql版本 1. mysql-5.6.26.tar.gz 二、准备工作 1、安装编译源码所需的工具和库 1. yum install gcc gcc-c++ ncurses-devel perl 2、安装cmake,从下载源码并编译安装 1. wget -xzvf cmake-2.8.10.2.tar.gz 3. cd cmake-2.8.10.2 4. ./bootstrap ; make ; make install 5. cd ~ 三、设置MySQL用户和组 1、新增mysql用户组 1. groupadd mysql 2、新增mysql用户 1. useradd -r -g mysql mysql ——————————————————————————————————————————————— 四、新建MySQL所需要的目录 1、新建mysql安装目录 1. mkdir -p /usr/local/mysql 2、新建mysql数据库数据文件目录 1. mkdir -p /data/mysqldb 五、下载MySQL源码包并解压 1. wget 2. tar -zxv -f mysql-5.6.26.tar.gz 3. cd mysql-5.6.26 设置编译参数 1. cmake \ 2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 3. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ 4. -DDEFAULT_CHARSET=utf8 \ 5. -DDEFAULT_COLLATION=utf8_general_ci \ 6. -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 7. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 8. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 9. -DMYSQL_DATADIR=/data/mysqldb \ 10. -DMYSQL_TCP_PORT=3306 \ 11. -DENABLE_DOWNLOADS=1 注:重新运行配置,需要删除CMakeCache.txt文件 1. rm CMakeCache.txt ——————————————————————————————————————————————— 编译源码 1. make 安装 1. make install 七、修改mysql目录所有者和组 修改mysql安装目录 1. cd /usr/local/mysql 2. chown -R mysql:mysql . 修改mysql数据库文件目录 1. cd /data/mysqldb 2. chown -R mysql:mysql . 八、初始化mysql数据库 1. cd /usr/local/mysql 2. scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb 九、复制mysql服务启动配置文件 1. cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 注:如果/etc/my.cnf文件存在,则覆盖。 十、复制mysql服务启动脚本及加入PATH路径 1. cp support-files/mysql.server /etc/init.d/mysqld 2. 3. vim /etc/profile 4. 5. PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH 6. ——————————————————————————————————————————————— 7. export PATH 8. 9. source /etc/profile 十一、启动mysql服务并加入开机自启动(可选这个步骤,以后 可以自己启动的) service mysqld start chkconfig --level 35 mysqld on 十二、检查mysql服务是否启动 1. netstat -tulnp | grep 3306 2. mysql -u root -p 密码为空,如果能登陆上,则安装成功。 十三、修改MySQL用户root的密码 1. mysqladmin -u root password '123456' 注:也可运行安全设置脚本,修改MySQL用户root的密码,同 时可禁止root远程连接,移除test数据库和匿名用户。 1. /usr/local/mysql/bin/mysql_secure_installation 十四、可能会出现的错误 1. 问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 : 2. Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid). 3. 解决: 4. 修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录 1. 问题: 2. ERROR 2002 (HY000): Can't connect to local MySQL server ——————————————————————————————————————————————— through socket '/tmp/mysql.sock' (2) 3. 解决: 4. 新建一个链接或在mysql中加入-S参数,直接指出mysql.sock 位置。 5. ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock 6. 7. /usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock 1. MySQL问题解决: -bash:mysql:command not found 2. 因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接 使用mysql命令时, 3. 系统在/usr/bin下面查此命令,所以找不到了 4. 解决办法是: 5. ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可 十五、创建用户及授权 1. 新建用户 1. [root@localhost ~]# mysql -u root -p123456 2. mysql> GRANT USAGE ON *.* TO 'guojl'@'%' IDENTIFIED BY 'guojl1234' WITH GRANT OPTION; 3. mysql> flush privileges; ——————————————————————————————————————————————— 注意:此处的"localhost",是指该用户只能在本地登录,不能在 另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为 "%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以 远程登录。 2. 创建数据库 1. mysql>create database RWSplitting; 3. 为用户授权 1. mysql>grant all on RWSplitting.* to 'guojl'@'%' ; 2. mysql> flush privileges; 4. 打开防火墙 1. [root@localhost ~]# vi /etc/sysconfig/iptables 2. 增加下面行 3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 4. 重启防火墙 5. [root@localhost ~]# service iptables restart 注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前 配置主从复制 一、修改主服务器master 1、 [root@localhost ~]# vi /etc/my.cnf 2、 增加下面内容 3、 [mysqld] 4、 log-bin=mysql-bin //[必须]启用二进制日志 5、 server-id=1//[必须]服务器唯一ID,默认是1,一般取IP最后 ——————————————————————————————————————————————— 一段 二、修改从服务器slave 1、 [root@localhost ~]# vi /etc/my.cnf 2、 增加下面内容 3、 [mysqld] 4、 log-bin=mysql-bin //[不是必须]启用二进制日 志 5、 server-id=2//[必须]服务器唯一ID,默认是1,一般取IP最后 一段 三、重启两台服务器的mysql 1、 [root@localhost ~]# /etc/init.d/mysql restart 四、在主服务器上建立帐户并授权slave 1、 Mysql> GRANT REPLICATION SLAVE ON *.* to 'guojl'@'%' identified by 'guojl1234'; 五、登录主服务器的mysql,查询master的状态 1、 Mysql>show master status; 2、 +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 952 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) 注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器 状态值变化 ——————————————————————————————————————————————— 六、配置从服务器Slave 1、 Mysql>change master to master_host='192.168.0.121',master_user='guojl', master_password='guojl1234',master_log_file='mysql-bi n.000003',master_log_pos=952; //注意不要断开,952数字前后无 单引号。 2、 Mysql>start slave; //启动从服务器复制功能; 七、检查从服务器复制功能状态 1、 Mysql>show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.0.121 //主服务器地址 Master_User: guojl //授权帐户名,尽量避免使用root Master_Port: 3306 //数据库端口,部分版本没有此行 Connect_Retry: 60 Master_Log_File: mysql-bin. 000003 Read_Master_Log_Pos: 600 //#同步读取二进制日志的位置, 大于等于Exec_Master_Log_Pos Relay_Log_File: ddte-relay-bin. 000003 Relay_Log_Pos: 952 ——————————————————————————————————————————————— Relay_Master_Log_File: mysql-bin.000004 Slave_IO_Running: Yes //此状态必须YES Slave_SQL_Running: Yes //此状态必须YES 注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否 则都是错误的状态(如:其中一个NO均属错误) 如果出现Slave_IO_Running: NO如何解决: 查看错误日志, 查看mysql日志位置方法: show global variables like '%log%'; 看到如下错误: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. 首先检查: mysql> show variables like ‘server_id'; +—————+——-+ | Variable_name | Value | +—————+——-+ | server_id | 3 | +—————+——-+ 主从并不一样,排除该问题。 继续排查,找到原因在于,拷贝整个data目录,把auto.cnf文件 ——————————————————————————————————————————————— 也拷贝过来了,里面记录了数据库的uuid,每个库的uuid应该是不 一样的。 [auto] server-uuid=6dcee5be-8cdb-11e2-9408-90e2ba2e2ea6 解决办法,按照这个16进制格式,随便改下,重启mysql即可。 八、主从服务器测试 1、 主服务器Mysql,建立数据库,并在 这个库中建表插入一条数据: mysql> create database RWSplitting; Query OK, 1 row affected (0.00 sec) 2、 mysql> use RWSplitting; 3、 Database changed 4、 5、 mysql> create table hi_tb(id int(3),name char(10)); 6、 Query OK, 0 rows affected (0.00 sec) 7、 8、 mysql> insert into hi_tb values(001,'bobu'); 9、 Query OK, 1 row affected (0.00 sec) 10、 11、 mysql> show databases; 12、 +--------------------+ 13、 | Database | 14、 +--------------------+ ——————————————————————————————————————————————— 15、 | information_schema | 16、 | RWSplitting | 17、 | mysql | 18、 | test | 19、 +--------------------+ 20、 4 rows in set (0.00 sec) 21、 从服务器Mysql查询: 22、 mysql> show databases; 23、 24、 +--------------------+ 25、 | Database | 26、 +--------------------+ 27、 | information_schema | 28、 | RWSplitting | //I'M here,大家看到了吧 29、 | mysql | 30、 | test | 31、 +--------------------+ 32、 4 rows in set (0.00 sec) 33、 34、 mysql> use RWSplitting 35、 Database changed ——————————————————————————————————————————————— 36、 mysql> select * from hi_tb; //查看主服务器上新增的具体数据 37、 +------+------+ 38、 | id | name | 39、 +------+------+ 40、 | 1 | bobu | 41、 +------+------+ 42、 1 row in set (0.00 sec) 利用RPM包安装 rpm -ivh MySQL-server-5.5.28-1.linux2.6.x86_64.rpm--nodeps --force ———————————————————————————————————————————————
本文档为【linux安装mysql】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_995397
暂无简介~
格式:doc
大小:32KB
软件:Word
页数:0
分类:
上传时间:2018-04-12
浏览量:19