MySQL安装
来源:互联网 发布:代理服务器软件有哪些 编辑:程序博客网 时间:2024/06/06 05:29
如果是mysql系列的直接使用编译安装,不用cmake,这里用源码安装的方式
1)安装cmake编译工具
yum install cmake -y
2)下载MySQL
wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.6/
3)安装依赖
yum install ncurses-devel –y # 用于终端操作的开发包
4)添加用户
useradd -u 8001 -s /sbin/nologin mysql
5)创建数据库存放目录
mkdir /data
6)编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
参数说明:
-DCMAKE_INSTALL_PREFIX #数据文件存放目录-DMYSQL_UNIX_ADDR # sock文件路径-DDEFAULT_CHARSET #默认字符集-DDEFAULT_COLLATION #默认字符校对-DWITH_EXTRA_CHARSETS #扩展字符支持 默认all-DWITH_storage_STORAGE_ENGINE # 存储引擎的支持,默认支持MyISAM,MERGE,MEMORY,CVS存储引擎-DENABLED_LOCAL_INFILE=1 # 启用加载本地数据-DMYSQL_DATADIR # 数据存放目录-DMYSQL_USER # mysql运行用户扩展:-DWITH_PARTITION_STORAGE_ENGINE=1 #支持分区表-DINSTALL_LIBDIR=dir_name-DSYSCONFDIR=dir_name The default my.cnf option file directory
make -j 4 && make install #-j 4 是指使用4个cpu核心数,如我们的双核四线程,就可以写4
7)授权用户
chown -R mysql:mysql /usr/local/mysql/chown –R mysql:mysql /data chmod 1777 /tmp
8)创建配置文件
cp support-files/my-large.cnf /etc/my.cnf
9)设置环境变量
echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile source !$
10)创建服务启动脚本,添加开机启动
cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld #给脚本添加执行权限 vim /etc/init.d/mysqld #服务启动脚本要修改以下两个参数 basedir=/usr/local/mysql # MySQL安装目录 datadir= /data #数据存放目录 chkconfig mysqld on #添加开机启动
11)初始化数据库
chmod +x scripts/mysql_install_db /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data --user=mysql
看到两个ok就成功
12)初始化安全配置
#需要先启动MySQL mysql_secure_installation # 安全初始化配置
13)排错
出现这种错误
Enter current password for root (enter for none): ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) # 干掉mysql进程 pkill mysqld rm -rf /data/*
重新初始化
13)MySQL安全优化小配置
用户安全
mysql> select user,host from mysql.user; mysql> delete from mysql.user where user=''; mysql> delete from mysql.user where host='server01.cn';mysql> delete from mysql.user where host='::1';mysql> select user,host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | root | localhost |
或者把用户都删了,添加一个额外的管理员
mysql> delete from mysql.user; mysql> grant all privileges on *.* to system@'localhost' identified by '123456' with grant option; mysql> flush privileges; mysql> select user,host from mysql.user; +--------+-----------+ | user | host | +--------+-----------+ | system | localhost | +--------+-----------+ 1 row in set (0.00 sec) mysql> drop database test;
如果我们把MySQL密码忘记了
mysql配置文件/etc/my.cnf
#在【mysqld】下面添加一行代码:skip-grant-table #这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。mysql -uroot -p //此时直接回车,既可以进入数据库。出现mysql>就说明你已经进入到mysql数据库里了。#进数据库后,use mysql //选择mysql这个库,因为mysql的root密码存放在这个数据库里。show tables //查看下mysql库里有哪些表,我们需要操作的用户名密码都在user表里。desc user //查看下user表有哪些字段#更改root密码。update user set password=password('123456') where user="root"; //用户选root,可以随便更改成任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。 flush privileges; //刷新下密码,使更改的生效。exit //退出数据库。mysql -uroot -p //回车输入刚刚更改的密码,就能进去了。然后再次进入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。
0 0
- MySQL安装
- MySQL安装
- mysql安装
- mysql 安装
- 安装mysql
- Mysql安装
- mysql安装
- mysql安装
- mySQL安装
- mysql 安装
- Mysql安装
- 安装MySQL
- Mysql安装
- Mysql安装
- 安装MySQL
- MySQL 安装
- 安装MySQL
- Mysql安装
- Ldap服务器登录配置
- JAVA反射(二):通过反射获取类的结构
- Android自定义控件中view不能隐藏
- 中介者设计模式例子
- PullToRefreshListView调用onRefreshComplete方法 无法取消刷新的bug
- MySQL安装
- Fast-RCNN
- codefores741B Arpa's weak amphitheater and Mehrdad's valuable Hoses(并查集+背包)
- 数字后端面试问题
- C语言:简单的无界面化操作扫雷游戏
- Android Listview控件一些重要的属性
- UITableView的属性
- 强大的Android基地 论坛
- [SCOI2011] 糖果