mariadb 10.1.10安装

Maridb 10.1.10  on centos 6.6 

******************************************************************************
1.系统部分
******************************************************************************

--------1.desktop安装即可,选择自定义

选择下面两个包,其它根据自己需求选择
base system
	legacy unix compatibility(rsh telnet ksh tftp  )

Desktops
	legacy x window system compatibility (xorg-x11-xdm)


-------2 配置yum源

cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.old

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo


yum makecache

检查可更新的rpm包
#yum check-update
    
更新所有的rpm包
#yum update




---4.关闭防火墙

chkconfig --level 123456 iptables off

service iptables stop


---5.修改hosts


echo "192.168.50.208 mariadb.jinri.com  mariadb" >> /etc/hosts




---6.rz

yum install lrzsz -y 





******************************************************************************
2.mysql安装部分
******************************************************************************


一:卸载旧版本

使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql

有的话通过下面的命令来卸载掉
rpm -e mysql   //普通删除模式
rpm -e --nodeps mysql   

// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,
则用该命令可以对其进行强力删除


yum remove mysql-libs



二:安装MySQL


--1.安装编译代码需要的包

yum -y install cmake  gcc gcc-c++  autoconf automake zlib*  libxml* \
ncurses ncurses-devel libtool-ltdl-devel* make  bison bison-devel libaio 



 

--2.为mysql新建组和用户

groupadd mysql && useradd -g mysql  mysql -s /sbin/nologin && passwd mysql
mysql01!@#






--3.设置用户的系统资源限制

#vi /etc/security/limits.conf

mysql            soft    nproc   2047
mysql            hard    nproc   16384
mysql            soft    nofile  1024
mysql            hard    nofile  65536





--4.编译安装

mkdir /soft && cd /soft  && rz


tar xf mariadb-10.1.10.tar.gz  && cd mariadb-10.1.10



编译安装

/***
cmake . -LH  --查看cmake支持的mysql相关参数

shell> cmake . -L   # overview
shell> cmake . -LH  # overview with help text
shell> cmake . -LAH # all params with help text
shell> ccmake .     # interactive display



重新编译时,需要清除旧的对象文件和缓存信息

make clean
rm -f  CMakeCache.txt

****/


cmake \
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_SPHINX_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=33107



make  -j8

make install






三:配置MySQL


--1.新建数据文件、临时文件,修改权限

mkdir -p /data/mysql

mkdir /data/mysql/{innodb_data,data,tmp} -p

mkdir /data/mysql/mysql_logs/{binary_log,innodb_log,query_log,slow_query_log,error_log} -p



--2.修改参数


#rm -rf /etc/my.cnf;vi /data/mysql/my.cnf


--3.链接文件

##链接文件
#ln -fs  /data/mysql/my.cnf  /etc/my.cnf; ll /etc/my.cnf 
 

lrwxrwxrwx. 1 root root 23 Nov 18 17:30 /etc/my.cnf -> /data/mysql/my.cnf



--4.修改权限


chown -R mysql /data/mysql
chgrp -R mysql /data/mysql



--5.初始化数据库

---5.1 初始化数据库

cd /data/mysql/scripts 


# ./mysql_install_db  --defaults-file=/etc/my.cnf --user=mysql --basedir=/data/mysql \
--datadir=/data/mysql/data 

[Note] /data/mysql/bin/mysqld (mysqld 10.1.10-MariaDB-log) starting as process 25928 ...
OK
Filling help tables...
[Note] /data/mysql/bin/mysqld (mysqld 10.1.10-MariaDB-log) starting as process 25973 ...
OK
Creating OpenGIS required SP-s...
[Note] /data/mysql/bin/mysqld (mysqld 10.1.10-MariaDB-log) starting as process 26019 ...
OK


--6.启动MySQL


---6.0 修改文件权限

chown -R mysql /data/mysql; chgrp -R mysql /data/mysql


--6.1添加服务,拷贝服务脚本到init.d目录,并设置开机启动

cd /data/mysql/&& cp support-files/mysql.server /etc/init.d/mysql &&  chkconfig mysql on

service mysql start #建议使用安全启动,此行不执行



--6.2建议安全启动
/data/mysql/bin/mysqld_safe &

#推荐
/data/mysql/bin/mysqld_safe --datadir='/data/mysql/data' &




--7.配置mysql用户

MySQL启动成功后,root默认没有密码,我们需要设置root密码。


--7.1修改/etc/profile文件,在文件末尾添加

#vi + /etc/profile

PATH=/data/mysql/bin:$PATH
export PATH



#source /etc/profile

现在,我们可以在终端内直接输入mysql进入,mysql的环境了

执行下面的命令修改root密码

--7.2修改mysql管理员密码



1.给所有的root用户设定密码:
第一种方式(推荐此方法)
 # mysql -uroot   -p

MariaDB [(none)]>
MariaDB [(none)]> select host,user,password from mysql.user;
+-------------------+------+----------+
| host              | user | password |
+-------------------+------+----------+
| localhost         | root |          |
| mariadb.jinri.com | root |          |
| 127.0.0.1         | root |          |
| ::1               | root |          |
| localhost         |      |          |
| mariadb.jinri.com |      |          |
+-------------------+------+----------+
6 rows in set (0.00 sec)


update mysql.user set password = password('password') where user = 'root' limit 100;flush privileges;



3.删除所有匿名用户(不要删除root@localhost)
mysql> DROP USER ''@'localhost';delete from mysql.user where user='' limit 10;commit;flush privileges;

mysql> delete from mysql.user where host='mariadb.jinri.com';flush privileges;




--7.3 设置mysql用户安全

select user,host,password from mysql.user;

delete from mysql.user where user not in('root');flush privileges;



--7.4 设置root用户可以远程访问

--方法1:授权法(推荐)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' \
WITH GRANT OPTION;flush privileges;



select host,user,password from mysql.user;



--7.3 登录mysql

#mysql -hlocalhost -uroot -ppassword




----7.6设置linux脚本

vi + ~/.bash_profile


#ocpyang set(绑定mysql到内网IP只能写内网IP)
alias date='date "+%Y-%m-%d %H:%M:%S" '
alias  mysql="mysql -hlocalhost -uroot -ppassword --auto-rehash --prompt=\"\u@mariadb \R:\m:\s>\" "
alias  errorlog="cat  /data/mysql/mysql_logs/error_log/error.log"
alias  mycnf="cd /data/mysql"
export PATH=/data/mysql/scripts:$PATH


source ~/.bash_profile


----7.7修改权限

chown -R mysql /data/mysql && chgrp -R mysql /data/mysql




----常见启动错误或警告

cat /data/mysql/mysql_logs/error_log/error.log 

150619 14:16:30 [Warning] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
150619 14:16:30 [Warning] 'user' entry '@mariadb.jinri.com' ignored in --skip-name-resolve mode.
150619 14:16:30 [Warning] 'proxies_priv' entry '@% [email protected]' ignored in --skip-name-resolve mode.


解决办法:
delete  from mysql.proxies_priv where host='mariadb.jinri.com';commit;flush privileges;















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章