
1,是否存在mysql这个用户
finger mysql
2,如果不存在,请切换root用户,添加mysql用户和mysql组
添加mysql组:
groupadd mysql
用户可以建立一个专门用于MySQL的用户组和用户名,用于启动和关闭MySQL数据库,以及对数据库的一些操作。建立用户组可以使用如下命令:
#groupadd mysql //创建mysql组
命令执行完毕后用户可以查看/etc/group文件,正确添加用户组后,用户可以在该文件中看到类似于以下的一行内容:
mysql :x :101:
添加mysql用户:
useradd –g mysql mysql
添加了用户组后,接着应该添加用户。在Linux下添加用户使用useradd命令。此处,添加一个名为mysql的用户,使用的命令如下:
#useradd -g mysql mysql
该命令用于创建mysql用户,并放到mysql组里。-g参数选项用于指定一个组名,并将新建的用户添加到该组,作为该组的一个成员。
3,可以打开下载解压的tar包,查看其中的文件,获知安装时需要配置的内容
4,检查mysql默认使用的3306端口是否被占用
netstat –nat|grep 3306
或
netstat –nat|grep LISTEN
开始安装:
1,解压tar包文件
tar zvxf mysql-5.1.45.tar.gz
2,进入解压的目录内
cd mysql-5.1.45
3,配置相关mysql安装参数
./configure --prefix=/home/work/mysql_user --with-charset=utf8 --with-extra-charsets=all --with-tcp-port=3316 --with-unix-socket-path=/home/work/mysql_user/var/mysql.sock --with-plugins=innobase
4,make
5,make install
6,多人同时使用一个mysql源文件目录进行安装时,需要先make clean
7,检查是否安装成功,在bin目录下
./mysql_install_db --basedir=/home/work/mysql_msg --datadir=/home/work/mysql_msg/var
有些账号在mysql_install_db时不具有/user/local/var目录权限。
可以通过 ./mysql_install_db --basedir= /home/work/mysql_test --datadir= /home/work/mysql_test/var 进行灵活的修改,修改为当前安装目录下即可。
8,配置完成后,启动mysql;nohup ./bin/mysqld_safe &
9,查看设置的端口是否正常监听到:netstat –nat|grep LISTEN
10,检查数据库是否搭建成功:通过客户端登陆验证
Mysql登录:./bin/mysql –h**** -u***** -P****** -p****
-u:用户名
-P:监听的端口号
-p:密码
-h:数据库服务器ip地址
二,设置主从库同步
1,首先停止主数据库
启动和停止数据库可以有以下两种方法:
方法一:
./bin/mysqladmin –u –P –p –h shutdown
-u 用户名
-P 数据库端口号
-p 密码
-h 数据库服务器ip地址
方法二:./mysql.server stop (start / restart)
需要将share/mysql/my-medium.cnf文件拷贝到/home/work/mysql_iyouxi目录下,就可以直接执行mysql.server命令;或者直接去share/mysql目录下去执行mysql.server命令
2,拷贝主库var目录下的文件到从数据库的var目录下,需要拷贝的内容包括:
1)各数据库文件夹(除mysql目录以外的其他目录)
2)ibdata1开头的文件
3,修改主数据库的配置文件my.cnf(刚才拷贝出来的那个cnf文件)
在mysqld节点下,设置:
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
****设置mysql log路径****(打开慢查询记录log和mysql查询日志log文件)
log-bin=mysql-bin
log-slave-updates
log=mysql.log
log-slow-queries=slow.log
long_query_time=2
4,同样,修改从数据库my.cnf文件的内容(刚才拷贝出来的那个cnf文件)
在mysqld节点下,设置:
server-id = 2(不能与主库的id相同,一般设置主库为1,从库为2,3,4,,,)
master-host = 10.48.234.12(主库的ip地址)
master-user = root(主库的user)
master-password = 123456(主库的password)
master-port = 3307(主库的端口号,这里从库的端口号必须和主库的一致)
5,此时,启动主数据库,并为主数据库创建一个同步用户
GRANT REPLICATION SLAVE ON *.* TO 'slavesyn'@'mydomain.com' IDENTIFIED BY '123456';
这个语句意味着从库可以用slavesyn 的账号来镜像主库,密码是123456 ,这个账户和密码就是配置在从库my.cnf中的
master-user = root //主库的user
master-password = 123456 //主库的密码
运行 flush privileges 使步骤3的授权生效
6,查看当前主数据库状态:
show master status;
7,启动从数据库
8,确认从库镜像主库的镜像点:
Change master to Master_Log_File=’mysql-bin.000006’,Master_Log_Pos=106;
这里黄色位置的信息必须与主数据库show master status;的结果信息一致。
change master to master_host='192.168.126.118',master_user='backup',master_password='123456',master_log_file='mysql-bin.000010' ,master_log_pos=98;
slave start;
如果出现以下报错:
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
出现这种报错可以通过 执行Change master语句来解决:
change master to master_host='192.168.126.118',master_user='backup',master_password='123456',master_log_file='mysql-bin.000010' ,master_log_pos=98;
9,启动从库的同步:
start slave;(停止命令:stop slave)
10, 查看从服务器的状态:
show slave status\\G;
主要查看下面两项:
Slave_IO_Running: YES
Slave_SQL_Running: YES
这两项都是YES,说明从数据镜像正常,否则需要排查错误。
可能遇到的问题:
1,
解决办法:
今天在安装MYSQL的时候,新建数据库用户。
#groupadd mysql
结果提示:bash: groupadd: command not found
是我变量不对吗?系统怎么会找不到groupadd 这条命令呢。
后来一想。原来是su的错。
之前是在普通用户下。直接 SU切换到ROOT用户。
退出换成SU - 再切换到ROOT用户就好了。
su 只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径
su - 不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径
使用su - 环境变量也跟着来啦~
2,
当大家看到 configure之后 出现cannot remove `libtoolT',需要在执行./configure 之前,先执行
autoreconf --force --install
libtoolize --automake --force
automake --force --add-missing
重新configuer 不报错即可。
3,报错
FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
解决办法:
./mysql_install_db --basedir=/home/work/mysql_msg/ --datadir=/home/work/mysql_msg/var
有些账号在mysql_install_db时不具有/user/local/var目录权限。
可以通过 ./mysql_install_db --basedir= /home/work/mysql_test --datadir= /home/work/mysql_test/var 进行灵活的修改,修改为当前安装目录下即可。
设置主数据库my.cnf文件:
server-id = 1
log-bin=/home/work/mysql_msg/logs/mysql-bin
binlog-do-db = dbname
binlog-ignore-db = mysql
server-id = 本机数据库 ID 标示,该部分还应有一个server-id=Master_id选项,其中master_id必须为1到232之间的一个正整数值
log-bin = 二进制日志的位置和名称
binlog-do-db = 需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
binlog-ignore-db = 不需要备份的数据库苦命,如果备份多个数据库,重复设置这个选项即可
5,报错error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决办法:
需要切换root权限(su root; su -)后,添加mysql用户组
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'game'@'localhost' IDENTIFIED BY ‘game’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
Mysqladmin –uUserName –pOldPwd password NewPwd
SOURCE XXX.sql
mysqldump –u UserName –p DatabaseName TableName > Export File Name
mysqldump –uUserName –p DatabaseName > Export File Name
