菜鸟学Linux 第072篇笔记 MySQL source install

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

菜鸟学Linux 第072篇笔记 MySQL source install



MySQL  产品列表

Server (mysqld, mysql)

Cluster 集群

Proxy   (读写分离)

Adminitrator

Query Browser

Workbench

Migration Toolkit

Embedded Server

Drivers and Connectors



MySQL --> MariaDB

Percona 



MySQL 安装

专用软件包管理器包

deb, rpm

rpm:

RHEL(Oracle Linux), CentOS

SUSE

rpm packages

MySQL-client

MySQL-debuginfo

MySQL-devel

MySQL-embedded

MySQL-ndb-management

MySQL-server

MySQL-shared

MySQL-shared-compat

MySQL-test

MySQL-VERSION.PLATFORM.src.rpm


通用二进制格式包

gcc(GNU), icc(Intel): x86, x64

源代码包 (可定制)

5.5, 5.6

cmake 



MySQL用户密码修改:

1. #mysqladmin -u USERNAME -h HOSTNAME password 'NEW_PASS' -p

2. mysql> SET PASSWORD FOR 'USERNAME'@'HOST'=password('new_pass')

3. mysql> UPDATE mysql.user SET PASSWORD=PASSWORD('new_pass') WHERE CONDITION

FLUSH PRIVILEGES



MySQL 安装

源码安装MySQL

1. cmake (编译安装)

2. 创建lvm分区(用来存放数据库文件 可扩容)

3. 安装 MySQL mysql-5.5.28 



1. 安装cmake

# tar xf cmake-2.8.8.tar.gz

# cd cmake-2.8.8

# make && make install




2. 创建lvm分区

# fdisk /dev/sdb

n e +5g t 8e w

# partprobe /dev/sdb

# pvcreate /dev/sdb1

# vgcreate myvg /dev/sdb1

# lvcreate -L 1G -n mydata myvg

# lvs

# mke2fs -j /dev/myvg/mydata

# mkdir /mydata

# vim /etc/fstab

/dev/myvg/mydata   /mydata       ext3    defaults        0 0

# mount -a 

# mkdir /mydata/data




3. 安装 MySQL mysql-5.5.28


cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure           cmake .

./configure --help    cmake . -LH or ccmake .


指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc


默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1


若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1


如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1

-DWITH_SSL=system

-DWITH_ZLIB=system

-DWITH_LIBWRAP=0


其它常用的选项:

-DMYSQL_TCP_PORT=3306

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DENABLED_LOCAL_INFILE=1

-DEXTRA_CHARSETS=all

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_DEBUG=0

-DENABLE_PROFILING=1


如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt



# groupadd -r mysql

# useradd -r -g mysql -s /sbin/nologin mysql

# id mysql

# chown mysql.mysql /mydata/data

# tar -xf mysql-5.5.28.tar.gz

# cd mysql-5.5.28

# cmake . -LH

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

          -DMYSQL_DATADIR=/mydata/data \

          -DSYSCONFDIR=/etc \

  -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

   (注意我这里是为了好看,需要手动输入每一行内容,去掉\,这个是一个命令)

# make 

# make install

# cd /usr/local/mysql

# chown -R :mysql .

# ./scripts/mysql_install_db --user=mysql --datadir=/mydata/data

# cp support-files/my-large.cnf /etc/my.cnf

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

# chkconfig --list mysqld

# service mysqld start

# vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

# . /etc/profile.d/mysql.sh



(到此mysql完成编译安装)




删除匿名用户

mysql> DROP USER ''@localhost;

查看是否删除匿名用户

mysql> SELECT user,host,password FROM mysql.user WHERE user='';


mysql> DROP USER ''@localhost;

mysql> DROP USER ''@mysky;

mysql> DROP USER 'root'@'::1';

mysql> SELECT User,Host,Password FROM user;

  mysql> UPDATE user SET Password=PASSWORD('mysql') WHERE user='root';

  mysql> FLUSH PRIVILEGES;




 配置本地用户访问无需输入用户名和密码

 # vim ~/.my.cnf

  [client]

user=root

password=mysql

host=localhost





访问mysql

mysql-->mysqld


同台主机Unix

mysql --> mysql.sock --> mysqld

同台主机Windows

mysql --> memory(pipe) --> mysqld


不在同一台主机上,基于TCP/IP协议通信,

mysql

-uroot -h192.168.11.122(本机)  此方式为使用tcp/ip方式通信



Mysql client programs

mysql

mysqldump

mysqladmin

mysqlimport

mysqlcheck

[client]

-u HOSTNAME

-h HOST

-p ''

--protocol {tcp|socket|pipe|memory}

--port PORT



Mysql no-client utilities

myisamchk

myisampack


MyISAM:

每表三个文件

.frm 表结构

.MYD 表数据

.MYI 表索引


InnoDB:

.opt 数据库排序属性

.frm 表结构

.idb 表空间 (表数据和表索引)


所有表共享一个表空间文件:

建议:每表一个独立的表空间文件;

# vim /etc/my.cnf

[mysqld]

innodb_file_per_table = 1

# service mysql restart

# mysql

mysql> SHOW GLOBAL VARIABLES LIKE '%innodb%';

显示为innodb_file_per_table           | ON

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1890287如需转载请自行联系原作者

Winthcloud
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
6月前
|
关系型数据库 MySQL 索引
MySQL多表练习笔记
链接可行,多表查询语法
160 0
|
10月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
494 41
|
10月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
625 17
|
10月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
294 18
|
10月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
570 11
|
11月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
502 28
|
10月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
298 10
|
11月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
511 17
|
10月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
11月前
|
Oracle 关系型数据库 MySQL
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
466 1