Linux下MySQL组装及基本操作教程
发布时间:2023-10-12 15:23:52 所属栏目:MySql教程 来源:
导读:为了提供更丰富、更强大的 web 应用功能,往往还需要有后台数据库、网页编程等多种角色的支持。
在一般小中型企业中,最常用的数据库就是MySQL,MySQL 是一个真正多线程、多用户的 SQL 数据库服务,凭借其高性能
在一般小中型企业中,最常用的数据库就是MySQL,MySQL 是一个真正多线程、多用户的 SQL 数据库服务,凭借其高性能
为了提供更丰富、更强大的 web 应用功能,往往还需要有后台数据库、网页编程等多种角色的支持。 在一般小中型企业中,最常用的数据库就是MySQL,MySQL 是一个真正多线程、多用户的 SQL 数据库服务,凭借其高性能、高可靠和易于使用的特性,成为云服务器领域中最受欢迎的开源数据库系统。 MySQL 源码编译包(mysql-5.6.tar.gz): https://pan.baidu.com/s/1pgYHB8kyJ7U1zl2cm4XUcw 提取码: y8py MySQL 5.X 系列版本的使用最为广泛,该版本稳定性、兼容性都不错 其官方站点为:http://www.mysql.com 准备工作: 为了避免发生端口冲突、程序冲突等现象,建议先查看 MySQL 的安装情况,确认没有使用以 RPM 安装的MySQL包 [root@mysql /]# rpm -qa | grep mysql 如果有的话,建议将其卸载:rpm -q mysql-server mysql 然后就是需要安装 ncurses 包,检测到已经安装三个,还缺一个,所以需要挂载系统光盘,进行安装 [root@mysql /]# rpm -qa | grep ncurses ncurses-5.9-13.20130511.el7.x86_64 ncurses-libs-5.9-13.20130511.el7.x86_64 ncurses-base-5.9-13.20130511.el7.noarch [root@mysql /] # mount /dev/sr0 /media/ [root@mysql Packages]# rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm warning: ncurses-devel-5.9-13.20130511.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:ncurses-devel-5.9-13.20130511.el7################################# [100%] MySQL 5.X 系列版本需要 cmake 编译安装,所以需要先安装 cmake 包: [root@mysql media]# tar zxf cmake-2.8.6.tar.gz -C /usr/src/ [root@mysql media]# cd /usr/src/cmake-2.8.6/ [root@mysql cmake-2.8.6]# ./configure [root@mysql cmake-2.8.6]# gmake && gmake install # 过程会很长 源码编译及安装: 创建运行用户: [root@mysql /]# groupadd mysql [root@mysql /]# useradd -M -s /sbin/nologin mysql -g mysql # -M 不创建宿主目录 -s 指定shell环境 -g 指定加入组 解包: 将下载的 mysql 源码包解压: [root@mysql media]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/ [root@mysql media]# cd /usr/src/mysql-5.6.36/ 配置: 在内容丰富、结构庞大的企业网站中,可能会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码。在配置过程中,可以将默认使用的字符集设置为 utf-8,并添加字符集的支持。 注意注意注意:接下来输入的命令需要区分大小写,一个标点符号也不能错,错了就得重新来过,写完命令之后一定要耐心检查一下 [root@mysql mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci # 每个“-”前都有空格 -DWITH_EXTRA_CHARSETS=all 各选项含义: --DCMAKE_INSTALL_PREFIX:指定将 MySQL 数据库程序安装到某目录下 --DSYSCONFDIR:指定初始化参数文件目录 --DDEFAULT_CHARSET:指定默认使用的字符集编码 --DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于 utf-8 字符集的通用规则 --DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码 [root@mysql mysql-5.6.36]# make && make install #编译并安装 过程会很漫长 安装后的其他调整: 对数据库的目录进行权限设置: [root@mysql ~]# chown -R mysql:mysql /usr/local/mysql 建立配置文件: 在 Centos 7 系统下默认支持 MariaDB 数据库,因此系统默认的/etc/my.cnf 配置文件中是 MariaDB 的配置文件。而在源码包目录中的 support-files 文件夹中,提供了 MySQL 数据库默认的样本配置文件 my-default.cnf 文件,所以在启动之前需要将原有的 my.cnf 文件替换为 MySQL 提供的配置文件内容。 [root@mysql ~]# rm -rf /etc/my.cnf # 将原来 etc 文件夹下的 my.cnf 文件删除 [root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf 初始化数据库: 以运行用户 mysql 的身份执行初始化脚本 mysql_install_db,指定数据存放目录 [root@mysql ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 设置环境变量(为了方便在任何目录下使用 mysql 命令,需要在 /etc/profile 设置环境变量): [root@mysql ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile [root@mysql ~]# . /etc/profile // 立即生效 添加为系统服务: [root@mysql ~]# cp /usr/src/mysql-5.6.36/support-files/mysql.server /usr/local/mysql/bin/mysqld.sh # 将服务脚本复制到 MySQL安装目录中 [root@mysql ~]# chmod +x /usr/local/mysql/bin/mysqld.sh # 添加执行权限 [root@mysql /]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=MySQL Server After=network.target [Service] User=mysql # 指定程序运行的用户账号 Group=mysql # 指定程序运行的组账号 Type=forking PIDFile=/usr/local/mysql/data/mysql.com.pid # 注意pid前要输主机名,输入之前先查看一下本机主机名 ExecStart=/usr/local/mysql/bin/mysqld.sh start ExecStop=/usr/local/mysql/bin/mysqld.sh stop [Install] WantedBy=multi-user.target [root@mysql /]# systemctl enable mysqld # 设置开机自启 [root@mysql /]# systemctl status mysqld # 检查服务启动状态 [root@mysql /]# systemctl start mysqld # 启动服务 若嫌编写配置文件麻烦,可以换另一种方法: 当对/usr/local/mysql/bin/mysqld.sh 赋予执行权限后,继续以下操作: [root@mysql-5.6.36]# cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld [root@mysql-5.6.36]# vim /etc/init.d/mysqld Linux下MySQL安装及基本操作教程 修改后,保存退出。继续执行如下命令: [root@localhost mysql-5.6.36]# chkconfig --add mysqld #添加为系统服务 启动服务后登陆数据库: root 是MySQL的默认管理员 [root@mysql /]# mysql -u root # 无密码的时候登陆 [root@mysql /]# mysqladmin -u root password 123456 # 第一次设置密码 [root@mysql /]# mysqladmin -u root -p password 654321 # 修改密码,先输入新密码 Enter password: # 根据提示输入旧密码 [root@mysql /]# mysql -u root -p # 使用密码登陆 Enter password: # 根据提示输入密码 [root@mysql /]# mysql -u root -p …… // 省略部分内容 mysql> status # 查看当前数据库的基本信息 mysql> exit # 退出 MySQL操作环境 ouit 也行 Bye 查看 MySQL 中有哪些库: mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.03 sec) 查看数据库中有哪些表: mysql> use mysql; Database changed mysql> show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | time_zone_name | …… // 省略部分内容 | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 28 rows in set (0.00 sec) 查看表的结构: mysql> describe user; +----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | name | char(16) | YES | | NULL | | | xingbie | char(10) | YES | | NULL | | | nianling | int(11) | YES | | NULL | | +----------+----------+------+-----+---------+-------+ 3 rows in set (0.01 sec) 创建新的数据库: mysql> create database users; 创建新的表: mysql> use users; mysql> create table user (name char(16),xingbie char(10),nianling int); 删除一个数据表: mysql> drop table user; Query OK, 0 rows affected (0.01 sec) 删除一个数据库: mysql> drop database users; Query OK, 0 rows affected (0.00 sec) 管理表中的数据记录: 插入数据记录: insert into 表名(字段一,字段二,...) values(字段一的值,字段二的值,....) mysql> insert into user (name,xingbie,nianling) values('zhangsan','nan','25'); 查询数据记录: mysql> select * from user; +----------+---------+----------+ | name | xingbie | nianling | +----------+---------+----------+ | zhangsan | nan | 25 | +----------+---------+----------+ 1 row in set (0.00 sec) 修改数据记录: update 表名 set 字段名=‘修改的字段值’ where 条件表达式 mysql> update user set nianling='20' where name='zhangsan'; 删除数据记录: delete from 表名 where 条件表达式; mysql> delete from user where name='zhangsan'; 数据库用户授权: 授予权限 grant 权限列表 on 库名.表名 to 用户@来源地址 identified by ‘密码’; mysql> grant select on users.user to zhangsan@localhost identified by '123456'; 使用 GRANT 语句需要注意以下几点: Linux下MySQL安装及基本操作教程 Linux下MySQL安装及基本操作教程 查看权限: show grants for 用户名@来源地址; show grants for 'zhangsan'@'localhost'; 撤销权限: revoke 权限列表 on 数据库名.表名 from 用户名@来源地址 revoke all on test.user from 'zhangsan'@'localhost'; (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐