aix 安装mysql时,数据库初始化一直停留在Installing MySQL system tables...,也不提示错误

aix 安装mysql时,数据库初始化一直停留在Installing MySQL system tables...,也不提示错误,第1张

Linux环境中,安装好MySQL后,还不能直接启动服务,必须先对数据库进行初始化。初始化的工作主要包括:

初始化日志、表空间等数据库必须的文件

创建并初始化系统数据库(mysql)。

初始化完成后,启动mysqld守护进程,方可访问数据库。

在Windows的环境下,安装包内已经自带了一个初始化好的环境,安装后展开在mysql根目录的data子目录。所以并不需要手工进行初始化。但是某些情况下,也可能需要从零开始初始化数据库,比如:

数据文件被破坏,需要重建

希望保留现有环境不动,建立一个新的环境

希望建立一个干净的环境。

不幸的是,Linux环境下是利用mysql_install_db.sh脚本初始化数据库环境的而在Windows版中并没有提供相应的脚本。那么该怎么办呢?

经过对Linux环境下的mysql_install_db.sh的分析,发现初始化数据库的命令主要是以下几行:

mysql_install_db.sh

# Pipe mysql_system_tables.sql to "mysqld --bootstrap"

s_echo "Installing MySQL system tables..."

if { echo "use mysql" cat $create_system_tables $fill_system_tables } | eval "$filter_cmd_line" | $mysqld_install_cmd_line > /dev/null

then

s_echo "OK"

s_echo "Filling help tables..."

# Pipe fill_help_tables.sql to "mysqld --bootstrap"

if { echo "use mysql" cat $fill_help_tables } | $mysqld_install_cmd_line > /dev/null

then

s_echo "OK"

......

其中:

$create_system_tables、$fill_system_tables和$fill_help_tables分别是创建系统数据库、初始化系统数据库中的数据、和初始化帮助数据

$filter_cmd_line是过滤掉主机名(用于交叉初始化非本机运行数据库环境的情况,可忽略)

$mysqld_install_cmd_line主要是"mysqld --bootstrap"命令

# cd /usr/src

# tar -zvxf mysql-3.22.25-pc-linux-gnu-i686.tar.gz (产生 mysql-3.22.25-pc-linux-gnu-i686目录)

# cd mysql-3.22.25-pc-linux-gnu-i686

# ./configure --prefix=/usr/local/mysql (其中参数设定目的安装路径)

# make

# make install

注意在运行configure时,设定MySQL的安装目的路径为/usr/local/mysql,该路径在后继安装过程中还要使用。然后,建立最初的数据库:

# scripts/mysql_install_db

该命令将在 /usr/local/mysql/var/ 下建立两个数据库:mysql和test,其中前者是MySQL的权限管理数据库,后者是让你做练习用的。注意:如果你在以前曾经安装果MySQL,则初始数据库已经存在,不需要再重新安装。

最后,启动MySQL :

# cd /usr/local/mysql/bin

# ./safe_mysqld &

如果你希望在机器启动的时候自动运行数据库服务,可以将上面的启动命令加入到/etc/rc.d/rc.local文件中。

现在,MySQL 已经运行起来了并等待你的数据处理命令!但是,一定要小心:你还没有为你的root管理员设置一个密码,任何人都可以随心所欲地修改你的数据库(包括最为重要的权限库)!不相信的话,作作以下练习(假设我们的当前目录都是/usr/local/mysql/bin):

试试用任意用户登录,并运行:

$ ./mysql -u root

立即可以进入"mysql>"客户端软件提示符并进行任何数据处理 *** 作而不需要任何口令;这说明,MySQL的管理员"root"账号与你的Unix账号所用的口令可以是不一样的。为了给root账号加口令,执行:

# ./mysqladmin -u root password \\\'新口令\\\'

再次以一般用户身执行:

$ ./mysql -u root

则系统会提示输入密码,密码不正确则拒绝访问。实际上,即使你是root用户,如果不明确地指明使用密码,系统也是照样拒绝:

# ./mysql -u root

# ./mysql 系统响应:

ERROR 1045: Access denied for user: \\\'root@localhost\\\' (Using password: NO)

只有使用-p参数,明确说明你要使用密码,系统才会提示你输入密码,并在输入密码正确时方可进入:

# ./mysql -u root -p

password:******** (输入口令)

Welcome to the MySQL monitor. Commands end with or \\\\g.

Your MySQL connection id is 33 to server version: 3.22.25

Type \\\'help\\\' for help.

Mysql>

键入exit回到shell。

脚本mysql.server(位于`share/mysql\\\'目录中)用于启动或停止MySQL服务器:

shell>mysql.server start

shell>mysql.server stop

该脚本实际上通过执行safe_mysqld启动服务器。停止服务器也可以通过管理程序实现:

mysqladmin shutdown

也可通过将下述命令加入`/etc/rc.local\\\'文件,在系统启动时自动启动MySQL:

/bin/sh -c \\\'cd /usr/local/mysql ./bin/safe_mysqld &\\\'

mysql varchar 最大可以设定多少 这不是一个固定的数字。简要说明一下限制规则。 1、限制规则栏位的限制在栏位定义的时候有以下规则: a) 储存限制varchar 栏位是将实际内容单独储存在聚簇索引之外,内容开头用1到2个位元组表示实际长度(长度超过255时需要2个位元组),因此最大长度不能超过65535。 b) 编码长度限制字元型别若为gbk,每个字元最多占2个位元组,最大长度不能超过32766字元型别若为utf8,每个字元最多占3个位元组,最大长度不能超过21845。若定义的时候超过上述限制,则varchar栏位会被强行转为text型别,并产生warning

python socket 包最大可以设定多少4096

最好设计一个包的协议,回圈读到结尾为止。

比如前4个位元组的整数是包的长度,那么伺服器先读四个位元组,解析出整数,后面的回圈读到这些位元组为止。当然已经有很多现成的框架或库来完成这样的工作了。

oracle 连线数 最大可以设定多少

我以前认为oracle processes引数只是规定程序数的上限,随便设定多大都可以,于是设定了个一千万,结果重启资料库的时候发现启动不了。 其实processes设定的值还是会占用oracle记忆体的,设定过大的话,你sga中没有足够的记忆体分配,资料库便无法启...

我以前认为oracle processes引数只是规定程序数的上限,随便设定多大都可以,于是设定了个一千万,结果重启资料库的时候发现启动不了。

其实processes设定的值还是会占用oracle记忆体的,设定过大的话,你sga中没有足够的记忆体分配,资料库便无法启动。

你可以自己实验对比下,

当你设定不同processes值时候,shared_pool中的processes池,大小也会随之变化

select * from v$sgastat where pool='shared pool' and name='processes'

-----------------------------------------------------------------------------------------------------

目前我所见到的生产环境中的库,大点的话,一般processes在3000左右就够用了,当然你的环境要是超大型oltp型别的,那么另说了,总的来说就是要根据你业务情况来了。

另外,你可以通过下面语句看看历史会话数的峰值是多少,来判断是否需要调整processes

select sessions_current,sessions_highwater from v$license

oracle最大可以设定多少游标数

Oracle中预设的游标数是300,最大的话应该是1000.

检视当前最大游标数:

SQL>show parameter open_cursorsNAME TYPEVALUE------------------------------------ ----------- -------------------open_cursors integer 300

设定最大游标数的命令:

SQL>alter system set open_cursors=1000 scope=both

Flash 影片频率最大可以设定到多少?

估计几百吧,其实很大时无意义的,能达到适当的流畅度即可

Flash中影片频率最大可以设定到多少?

120

flash影片帧频率最大可以设定到多少

如果是制作动画或者正常使用,最高60,再高了也没有必须,一般都是24-30

您好,Flash的帧速可以设定在 0.01-1000 以内的任意一个数值。

其中在Flash舞台属性面板里可以设定的范围是0.01-120;

如果想要设定更高的帧频,可以对 stage.frameRate 属性进行赋值,比如:

stage.frameRate = 500

但通常来说如果您需要制作动画,一般设定在24-30即可,

如果您是游戏开发和建立特效,建议设定在30~60即可。

aix 交换空间最大可以设定成多少

AIX交换空间就是一个LV,上限也就是LV的上限,一般不会设定过大,以前常设定为记忆体的2倍,现在AIX的系统记忆体很大,所以换页空间设定往往用预设的较多。

放在很久以前,MySQL是很少受待见的

,而现在MySQL越来越受到重视,包括银行在内的一些系统也会采用MySQL。

放在很久以前,MySQL是很少受待见的

为什么国内绝大多数互联网公司使用的数据库都是MySQL呢?主要原因可以归结为以下这几类:

1、LNMP架构模式的推动

Linux+Nginx+MySQL+PHP这种架构选型在中小型互联网公司使用是最多的,也是最主流的。像淘宝早期也是这种技术选型。因为PHP+MySQL是“黄金搭档”,加上PHP开源框架太多,市场占有率很高,所以也催生了MySQL的发展。

2、大型公司去IOE化的推动:

在以前,一般的不差钱的大型企业在信息化这块的选型较多的就是IOE(IBM小型机AIX系统+Oracle数据库+EMC存储),因为IOE能支撑庞大的业务、很稳定、说出去也是高大尚的。

但是IOE不是一般中小型企业能承担的,IOE的投入巨大。所以在前几年国内不少大型互联网企业称要去IOE化,2013年5月阿里巴巴最后一台IBM小型机下线,2013年07月淘宝广告系统使用的Oracle数据库下线,都是阿里巴巴在去IOE化路上的重要里程碑。

为什么要去IOE呢?IOE的架构模式都是利用小型机和高端存储设备来提供高性能的处理与存储服务,这种架构是集中式的架构(比如将所有的数据集中在一个数据库中),当性能不足时,就通过增加硬件(CPU/内存/磁盘)的方式来提高处理能力,而这种集中式架构不适应当下的大数据需求了。

去IOE的重要实施方案中有一点就是将集中式的Oracle换为分布式的MySQL集群,MySQL可以通过水平扩展来解决性能问题

去IOE的重要实施方案中有一点就是将集中式的Oracle换为分布式的MySQL集群,MySQL可以通过水平扩展来解决性能问题

3、开源免费

较Oracle、SQL

Server而言,MySQL是开源免费的

(虽然MySQL被Oracle了),不像Oracle和SQL

Server是需要商业付费的,而且价格昂贵。

较Oracle、SQL

Server而言,MySQL是开源免费的

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流

~

我是科技领域创作者,欢迎关注我了解更多科技知识!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8407665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存