- 积分
- 73
- UID
- 16732
- 阅读权限
- 20
- 注册时间
- 2014-10-24
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 1
|
mysql的安装其实不是很难,最主要还是要在前期规划得当,知道相关参数的修改位置。
规划
端口:3306
管理员名称:leon
安装基本目录:/usr/local/mysql
数据库目录:/database
二进制日志目录:/var/log/mysqld
延迟日志目录:/var/log/mysqld
启动文件:/var/run/mysqld
1、安装需要的编译软件及库文件
- # yum install cmake make -y
- # yum install gcc gcc-c++ autoconf bison automake zlib* flex* libxml* ncurses-devel libtool-ltdl-devel* -y
复制代码
2、增加mysql用户及用户组,创建目录并将所有者更改为mysql
新建mysql用户和用户组
- # groupadd mysql -g 27
- # useradd mysql -u 27 -g mysql -s /sbin/nologin
复制代码 根据配置文件my.cnf新建相关文件夹,并修改其属主为mysql.mysql
- # chown mysql.mysql /usr/local/mysql/ -R
复制代码 数据库目录
- # mkdir /database
- # chown mysql:mysql /database/
复制代码 运行文件存放目录
- # mkdir /var/run/mysqld
- # chown mysql.mysql /var/run/mysqld/
复制代码 日志文件存放目录
- # mkdir /var/log/mysqld
- # chown mysql.mysql /var/log/mysqld/
复制代码
3、编译安装
- # mkdir -p /usr/local/src
- # cd /usr/local/src
- # wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz
- # tar -zxvf mysql-5.5.28.tar.gz
- # cd mysql-5.5.28
- # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=complex -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=yes -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/database -DMYSQL_TCP_PORT=3306
复制代码
注:ENABLED_LOCAL_INFILE
是否开启客户端本地存储以减轻数据库的负载
4、创建my.cnf配置文件
- # vi /usr/local/mysql/etc/my.cnf
- [mysqld]
- port = 3306
- user = mysql
- basedir = /usr/local/mysql
- datadir = /database
- socket = /var/run/mysqld/mysqld.sock
- pid-file = /var/run/mysqld/mysqld.pid
- general-log
- general-log-file=/var/log/mysqld/mysqld-access.log
- #访问日志
- log-error=/var/log/mysqld/mysqld-error.log
- #错误日志
- #跳过外部锁定
- skip-external-locking
- #可以在登陆mysql。输入命令show variables;查看服务器系统变量
- #查看具体的使用like选项,例:show variables like '%buffer%';%通配符
- #用set 【选项】 = num 修改详细参数
- key_buffer_size = 16K
- max_allowed_packet = 1M
- table_open_cache = 4
- sort_buffer_size = 64K
- read_buffer_size = 256K
- read_rnd_buffer_size = 256K
- net_buffer_length = 2K
- thread_stack = 128K
- server-id = 1
复制代码
5、初始化mysql
- # /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/database --user=mysql
复制代码
6、创建服务启动文件,并启动mysql
- # ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- # vi /etc/init.d/mysqld
复制代码 修改服务启动文件
按照规划修改以下几个参数的配置:[basedir datadir pibfile conf]
- # chmod +x /etc/init.d/mysqld
- # /etc/init.d/mysqld start|stop|restart|kill
- # ln -s /usr/local/mysql/bin/mysql /bin/mysql
复制代码 7、用户管理
删除空密码、匿名的用户
- mysql> delete from mysql.user where password='';
- mysql> delete from mysql.user where user='';
- mysql> flush privileges;
复制代码 创建数据库管理帐户,允许远程用户访问。并将root更名为其他名称。
- mysql> CREATE USER 'leon'@'%' IDENTIFIED BY '123456';
- mysql> GRANT ALL ON *.* TO 'leon'@'%' WITH GRANT OPTION;
- mysql> RENAME USER 'root'@'localhost' TO 'leon'@'localhost';
- mysql> flush privileges;
复制代码 8、安全
(1)除了管理员帐号外,不要把file, process, super,reload,shutdown,grant权限授予管理员以外的账号
- update mysql.user set file_priv = 'N' Where User=user_name and host =
- host_name
- update mysql.user set process_priv = 'N' Where User=user_name and host =
- host_name
- update mysql.user set super_priv = 'N'Where User=user_name and host =
- host_name
- update mysql.user set reload_priv = 'N' Where User=user_name and host =
- host_name
- update mysql.user set shutdown_priv = 'N' Where User=user_name and host =
- host_name
- update mysql.user set grant_priv = 'N' Where User=user_name and host =
- host_name
复制代码
|
|