安装cmake
centos上编译mariadb5.5以上的需要至少cmake2.6,如果是rpm包,则需要至少cmake2.8.7以上。
[root@school ~]# tar xf cmake-2.8.8.tar.gz #解压[root@school ~]# cd cmake-2.8.8[root@school cmake-2.8.8]# ./bootstrap[root@school cmake-2.8.8]# make && make install 安装mariadb前的准备[root@school ~]# groupadd -g 306 -r mysql[root@school ~]# useradd -u 306 -g mysql -r -s /sbin/nologin mysql[root@school ~]# id mysqluid=306(mysql) gid=306(mysql) groups=306(mysql)[root@school ~]# mkdir /mydata/data -pvmkdir: created directory `/mydata'mkdir: created directory `/mydata/data'[root@school ~]# yum install readline-devel zlib-devel openssl-devel#依赖这些组件安装mariadb[root@school ~]# tar xf mariadb-10.0.10.tar.gz #解压[root@school ~]# cd mariadb-10.0.10 #切换目录[root@school mariadb-10.0.20]#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/mydata/data \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci
更改属主属组
[root@school mysql]# chgrp mysql ./*
[root@school mysql]# chown mysql:mysql /mydata/data #更改属主属组[root@school mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data #初始化[root@school mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld #提供服务脚本[root@school mysql]# chmod +x /etc/rc.d/init.d/mysqld #加权限[root@school mysql]# chkconfig --add mysqld #加入服务列表[root@school mysql]# cp support-files/my-large.cnf /etc/my.cnf #提供配置文件[root@school mysql]# vim /etc/my.cnf #改变数据目录log-bin=/mydata/binlogs/master-bin #修改二进制日志文件位置innodb_file_per_table = ON #修改innodb属性
创建二进制日志文件目录并改属主属组
[root@school mysql]# service mysqld start #启动服务
[root@school mysql]# ss -tnl #查看端口
导入环境变量
[root@school mysql]# vim /etc/profile.d/mysqld.sh export PATH=/usr/local/mysql/bin:$PATH[root@school mysql]# . /etc/profile.d/mysqld.sh
启动
查看匿名用户
删除匿名用户
修改管理员密码
第一种方法:
mysql>SET PASSWORD FOR username@host = PASSWORD('your_password');
第二种方法(推荐使用):
mysql>UPDATE user SET password = PASSWORD('your_password') WHERE user = 'root';
mysql>FLUSH PRIVILEGES;
第三种方法:
#mysqladmin -uUserName -hHost password 'newpassword' -p
#mysqladmin -uUserName -hHost -p flush-privileges
更改密码
重新登录